В следующем примере чтения файла из здесь :
#include <fstream>
#include <iostream>
using namespace std;
int main () {
char data[100];
// open a file in write mode.
ofstream outfile;
outfile.open("afile.dat");
cout << "Writing to the file" << endl;
cout << "Enter your name: ";
cin.getline(data, 100);
// write inputted data into the file.
outfile << data << endl;
cout << "Enter your age: ";
cin >> data;
cin.ignore();
// again write inputted data into the file.
outfile << data << endl;
// close the opened file.
outfile.close();
// open a file in read mode.
ifstream infile;
infile.open("afile.dat");
cout << "Reading from the file" << endl;
infile >> data;
// write the data at the screen.
cout << data << endl;
// again read the data from the file and display it.
infile >> data;
cout << data << endl;
// close the opened file.
infile.close();
return 0;
}
Мои вопросы:
Переменная data
длины 100. Что произойдет, если пользователь введет данные длиннее 100 или если файл, используемый для чтения в данные, имеет длину> 100?
Что мы можем использовать, чтобы не было ограниченийразмером для данных?
Можем ли мы использовать string data
вместо char data[100]
здесь?
Я не пробовал их, так как онисвязаны с файловыми операциями, и серьезные ошибки могут привести к повреждению данных на диске.