我有一份年份清单:
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
我试图找出如何从每一行中获取年份..
我一直在网上阅读,到目前为止我读的是getline,但我想这不起作用,因为它只适用于字符串。
我还能用什么?
PS。这是我的代码
int main(int argc, char *argv[]) {
string line;
ifstream myfile ("leapin.txt");
if (myfile.is_open()){
while ( myfile.good() ){
getline (myfile, line);
}
myfile.close();
}
else cout << "Unable to open file";
system("PAUSE");
return 0;
}
答案 0 :(得分:6)
您可以使用标准流-IO:
#include <fstream>
int main() {
std::ifstream input("filename.txt");
int buffer;
while(input >> buffer) {
// do stuff with the number
}
}
答案 1 :(得分:1)
如果您完全确定该文件有行,请阅读它们,然后使用strstream
来解析它们。
答案 2 :(得分:-1)
一旦你得到字符串,使用[strtok] http://www.cplusplus.com/reference/clibrary/cstring/strtok/或任何相关的api后跟isdigit()来检查它是否不是字母数字,后跟atoi()
选择了你可以使用的api。