* Четене от файл:
#include <fstream>
/* включване на заглавен файл
*/
int main()
{ ifstream in_data; /* дефиниране
на файлова променлива за четене */
in_data.open("input.txt");
/* отваряне на файла
*/
string s;
in_data >> s;
/* четене на дума
*/
getline(in_data, s);
/* четене на ред
*/
int n;
double x;
in_data >> n >> x;
/* четене на числови данни
*/
char ch;
in_data.get(ch);
/* четене на символ
*/
in_data.close();
/* затваряне на файла
*/
return 0;
}
* Записване на файл:
#include <fstream>
/* включване на заглавен файл
*/
int main()
{ ofstream out_data; /* дефиниране
на файлова променлива за четене */
out_data.open("output.txt");
/* отваряне на файла
*/
string s = "Hello";
out_data << s;
/* писане на низ
*/
int n = 5;
double x = 5.5;
out_data << n <<
x;
/* писане на числови данни
*/
char ch = 'T';
out_data.put(ch);
/* писане на символ
*/
out_data.close();
/* затваряне на файла
*/
return 0;
}
Текстови потоци
Аргументи от командния ред
* Стартиране на програмата prog:
C:\mydir\>prog -v input.dat
* Текста на програмата:
int main(int argc, char * argv[])
{
cout << argc;
/* брой на аргументите - 3 */
cout << string(argv[0]);
/* prog */
cout << string(argv[1]);
/* -v */
cout << string(argv[2]);
/* input.dat */
return 0;
}
Произволен достъп
-- файлове с променлива или фиксирана дължина на записа
-- включване на заглавен файл:
#include <fstream>
-- файлова променлива за четене и писане:
fstream fs;
-- преместване на позициите за четене и писане:
long n = 10;
fs.seekg(n, ios::beg);
fs.seekp(n, ios::beg);
-- намиране на текущите позициите за четене и писане:
long n;
n = fs.tellg();
n = fs.tellp();