PDA

Просмотр полной версии : Ввод и вывод файлов через потоки.


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
вобщем есть такой код.

#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 тоже не прокатит?