{ofstreamoutfile (“test.txt”); //создается поток и в текущей папке открывается файл
if ( !outfile) {
cout << “Input error\n ”;
return 1;
}
outfile << “Salut!\n”;
outfile << 100 << ‘ ‘ <<hex << 100 <<endl;
cout << “file end\n”;
outfile.close();
ifstream infile (“test.txt”, ios::nocreate); //создается поток infile
if ( !infile) {
cout << “Input error\n ”;
return 1;
}
char str[80];
int i, j;
infile >> str >> i >> j; //ввод из потока значений переменных
cout << str << endl
<< i << ‘ ‘ << j <<endl; //вывод значений на экран
return 0;
}
Вывод показывает, что в файле содержится информация:
Salut!
100 64
Для посимвольного ввода-вывода в текстовый файл можно использовать функции put() и get(), являющиеся методами классов ostream и istream соответственно, и использующиеся для ввода и вывода отдельных символов:
#include <fstream.h>
#include <iostream.h>
#include <string.h>
int main()
{char str[ ] = “aaaaa bbbbb ccccc dddddd ” //определение и инициализация “eeeeee fffffff iiiiiiii jjjjjjjjjj”; // строки
ofstreamoutfile (“TEST.TXT”); //создание выходного потока
for (unsigned j=0; j<strlen(str); j++)
outfile.put(str[j]); //посимвольный вывод в файлэлементов строки
cout << “file end\n”;
outfile.close();
char ch;
ifstream infile (“TEST.TXT”, ios::nocreate); //создается входной поток
while (infile) //чтение производится до конца файла или возникновения ошибки
{infile.get(ch);
cout << ch;
}
cout <<endl;
return 0;
}
Можно выдать содержимое файла и другим способом: просто вывести буфер файлового потока infile в поток cout:
cout << infile.rdbuf();
cout <<endl;
Тогда в нашем случае имеем:
char ch;
ifstreaminfile (“TEST.TXT”, ios::nocreate); //создается входной поток
cout << infile.rdbuf(); //функция rdbuf читает буфер файлового потока infileи //выводит его содержимое в стандартный поток cout
cout <<endl;
return 0;
}
В данной программе введенные с клавиатуры строки записываются в файл. При вводе символа «$» (в качестве первого символа строки) ввод строк прекращается и файл закрывается. Затем файл открывается уже для считывания и записанная там информация выводится на экран. Имя файла для вывода задается в командной строке в качестве параметра функции main():
#include <fstream.h>
#include <iostream.h>
#include <string.h>
int main (int argc, char *argv[])
{
if (argc!=2) {
cout << “Input name of file\n”;
return 1;
}
ofstreamoutfile (argv[1]); //создается объект поток и открывается файл, //имя которого совпадает со вторым аргументом командной строки
if ( !outfile) {
cout << “Input error\n ”;
return 2;
}
char str[80];
cout << “string? end - $\n”;
cin.getline (str, 80);
while (*str != '$')
{ outfile << str << endl;
cout << " ? : ";
cin.getline (str, 80);
}
cout << “file end\n”;
outfile.close();
ifstream infile (argv[1], ios::nocreate); //создается объект infile класса ifstream
if ( !infile) {
cout << “Input error\n ”;
return 3;
}
infile >> str;
if (infile.eof()) return 2; //если «конец файла»
do
{ cout <<str <<endl;
infile >>str;
} while (!infile.eof()); //пока «не конец файла»
//функция infile.eof() возвращает true, если конец файла
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.