我使用以下代码读取文件并将其打印输出到控制台:
//includes
int main(){
std::ifstream myReadFile;
myReadFile.open("C:\\Users\\Me\\Desktop\\Win32w\\gdip.ahk");
char output[100];
if (myReadFile.is_open()) {
while (!myReadFile.eof()) {
myReadFile >> output;
std::cout << output;
}
}
myReadFile.close();
}
但是在打印出文件的所有内容后,出现以下错误:
Unhandled exception at 0x51F0742A (msvcp120d.dll) in fourteen.exe: 0xC0000005: Access violation reading location 0x002C10AB.
当我用5行运行一个较小的文件(script.ahk)时,它运行正常。文件gdip.ahk有3300行。
最佳答案
读取尝试读取文件末尾之后,将设置EOF标志。见这里How does ifstream's eof() work?