我需要一些代码方面的帮助。
我需要把这个信息从另一个文件带到我的c++代码中,最后一个是这样的:
人类:3137161264 46
这是我为它写的,它正确地使用了“人类”这个词,但是它使用了随机数,而不是我刚写的文件上写的那些:
struct TSpecie {
string id;
int sizeGen;
int numCs; };
__
TSpecie readFile(string file){
TSpecie a;
ifstream in(file);
if (in){
getline(in,a.id,':');
in >> a.sizeGen;
in >> a.numCs;
}
else
cout << "File not found";
return a; }
希望你能解决,谢谢你的帮助
最佳答案
3137161264
导致整数溢出导致未定义的行为。
所以 unsigned int sizeGen
对于这种情况就足够了,但也要考虑 long long (unsigned) int sizeGen
。
编辑 1: 正如 @nwp 在对您的问题的评论中所指出的,如果发生任何错误,您还可以检查您的流:
//read something and then
if (!in) {
// error occured during last reading
}
关于c++ - C++中的ifstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021977/