Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Ввод и вывод файлов через потоки. (https://forum.antichat.xyz/showthread.php?t=71093)

EST a1ien 21.05.2008 22:13

Ввод и вывод файлов через потоки.
 
вобщем есть такой код.

Код:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char name[32];   
fstream os("123.txt");
    os<<"asdlkalskdjkjaljdlk";
    os>>name;
    cout<<name;


return 1;
}


Проблема в том, что он не считывает строчку которую вывел в файл.
Тоесть записать то он записал а вот выводить не хочет.

PS юзать fopen и иже с ним не предлагать нужны именно потоки.

desTiny 21.05.2008 22:58

Цитата:

Сообщение от EST a1ien
вобщем есть такой код.

Код:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char name[32];   
fstream os("123.txt");
    os<<"asdlkalskdjkjaljdlk";
    os>>name;
    cout<<name;


return 1;
}


Проблема в том, что он не считывает строчку которую вывел в файл.
Тоесть записать то он записал а вот выводить не хочет.

PS юзать fopen и иже с ним не предлагать нужны именно потоки.

Ну, во-первых, ты уверен, что он записал, я бы юзал ofstream.
а, во-вторых: даже если и записал - поле записи указатель в файле сместится на длину строки, то есть прочитаешь ты уже пустую строку - надо вернуть указатель в начало.

EST a1ien 21.05.2008 23:34

Блин я дебил. забыл про то что смещается указатель. ))) Спасибо!
Теперь все ок))

EST a1ien 21.05.2008 23:41

Ну и еще сразу маленький вопрос в догонку.
Есть перегруженный оператор << и >>
Дак вот как узнать какой поток ему передали. файловый или стандартный.

PS только через typeid? или както еще по другому можно? Или typуid тоже не прокатит?


Время: 14:49