下面的这段代码会崩溃,或者根据输入文件的大小进入无限循环。我认为 A2T 线路导致溢出,但我不知道用什么代替。在使我的代码简洁和安全方面,我将不胜感激。
提前感谢您的所有帮助。
#define END "\r\n"
#define TAG "Is this string in this line"
std::fstream myFile;
std::fstream outFile;
char cLine[300];
while (!myFile.eof() && !myFile.fail())
{
tstring tTemp = A2T(cLine);
if ( tstring::npos == tTemp.find(TAG))
{
outFile.write(cLine, strnlen(cLine, 300));
if (!outFile.bad())
{
outFile.write(END, strnlen(END, 300));
}
if (outFile.bad())
{
break;
}
}
myFile.getline(cLine, 300);
}