我有一个程序,读取包含列表的.dat文件:读取字符显示所有的字符,随后一些垃圾字符
removepeer 452
addpeer 6576
removepeer 54245
在某些时候,它读出垃圾文字:H
这里是我的代码的一部分,我发现故障:
getline(abc, info, '\n'); //data here displays pretty fine
int count = info.size();
char text[count];
for(int a=0; a<count; a++){
text[a] = data[a];
}
cout << text << endl; //Some rubbish text found in some printout!
它打印出的最后一行其次是一些垃圾文字
问题几乎可以肯定是一个没有终止的字符串,但是什么是'数据'?数据[a]'保证在该对象的范围之内吗?为什么不直接打印'info'? –