#else
const char* FileName = "map.txt";
ifstream inputFile(FileName, ios::in |ios::binary);
//按行读取并输出
//char buf[32] = {0};
//while(!inputFile.eof())
//{
// memset(buf, 0, sizeof(buf));
// inputFile.getline(buf, sizeof(buf)-1);
// cout << buf << endl;
//}
//获得文件长度后,一次性读取
int Size = inputFile.tellg();
inputFile.seekg(0,ios::end);
Size = static_cast<int>(inputFile.tellg());
cout << "MapSize:" << Size << endl;
inputFile.seekg(0, ifstream::beg);
char* fileImage = new char[Size];
inputFile.read(fileImage, Size);
cout << fileImage << endl;
inputFile.close();
system("pause");
}
按行读取并输出:
如果你的文件是空白文件,那么你可以使用ifstream类的tellg()函数来获取文件的长度,然后使用seekg()函数将文件指针移动到文件开头,最后使用read()函数一次性读取文件内容,这样就可以避免出现乱码的问题。