我正在尝试解决项目euler的问题13,它涉及100个50位数字的总和。我认为这会比将整块数字粘贴到我的代码中更好。所以我搜索了四周,发现你可以将块粘贴到一个.txt文件并从那里读取。从.txt读取
那么,我将如何去阅读从C++中的.txt文件,更重要的是从中分别获取50位数字的字符串?
我正在尝试解决项目euler的问题13,它涉及100个50位数字的总和。我认为这会比将整块数字粘贴到我的代码中更好。所以我搜索了四周,发现你可以将块粘贴到一个.txt文件并从那里读取。从.txt读取
那么,我将如何去阅读从C++中的.txt文件,更重要的是从中分别获取50位数字的字符串?
是这样的吗?
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string line;
ifstream myfile ("numbers.txt");
if (myfile.is_open())
{
while (myfile.good())
{
getline (myfile,line);
int i = atoi(line.c_str());
// do here something with 'i'
cout << i
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
啊,当然你不能将50位数字转换为int,但我想这是另一个问题:) – 2012-04-04 10:03:26
我会跳过对'is_open'的检查并使用while(getline(...) )'而不是。 – 2012-04-04 10:05:30
@Khôi我如何从.txt获得第一行或第二行? – cortex 2012-04-04 10:16:35
你知道['std :: ifstream'](http://en.cppreference.com/w/cpp/io/basic_ifstream)? – 2012-04-04 09:58:20