nub*_*bme 6 c++ arrays char ifstream
我试图将整个file.txt读入一个char数组.但有一些问题,建议请=]
ifstream infile;
infile.open("file.txt");
char getdata[10000]
while (!infile.eof()){
infile.getline(getdata,sizeof(infile));
// if i cout here it looks fine
//cout << getdata << endl;
}
//but this outputs the last half of the file + trash
for (int i=0; i<10000; i++){
cout << getdata[i]
}
Run Code Online (Sandbox Code Playgroud)
std::ifstream infile;
infile.open("Textfile.txt", std::ios::binary);
infile.seekg(0, std::ios::end);
size_t file_size_in_byte = infile.tellg();
std::vector<char> data; // used to store text data
data.resize(file_size_in_byte);
infile.seekg(0, std::ios::beg);
infile.read(&data[0], file_size_in_byte);
Run Code Online (Sandbox Code Playgroud)
小智 1
每次你读到新的一行,你就会覆盖旧的一行。保留一个索引变量 i 并使用infile.read(getdata+i,1)然后递增 i。