我无法从文件中读取数据,并将数据(文本)的选定部分连接到我自己的缓冲区中。阅读文件时垃圾字符的问题
代码如下所示:
char buffer[1000];
char* allNewData = (char *)malloc(10000);
while (! myfile.eof())
{
myfile.getline (buffer, 1000);
pch = strstr (buffer,"bla bla");
if(pch == NULL)
{
char* temp = buffer;
strcat(allNewData, temp);
strcat(allNewData, "\n");
}
else
{
strcat(allNewData, "here's bla bla");
strcat(allNewData, "\n");
}
}
cout<<allNewData<<endl;
当我运行该程序,allNewData
先有一些垃圾文字,其次是正确/预期的结果,这样的:
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii <-rubbish data
hello <- actual data
我需要摆脱这些垃圾数据,我如何改变代码来实现这一目标?
问题的地方在哪里? – Svisstack 2010-11-01 12:29:59
不要模糊,成为一个王牌;写一个适当的测试用例! http://tinyurl.com/so-hints http://sscce.org/ http://www.xs4all.nl/~weegen/eelis/iso-c++/testcase。xhtml – 2010-11-01 12:31:14
不要使用[!eof()](http://stackoverflow.com/questions/3771754/what-is-an-efficient-way-of-back-tracking-in-greedy-best-search-algorithm/3773087#3773087)。 – 2010-11-01 12:31:51