【发布时间】:2014-07-25 22:48:25
【问题描述】:
您好,非常感谢!
我是 C++ 新手,抱歉,如果我的出发点是废话……我需要打开并阅读一个文本文件以应用一些数值程序,但我发现很难弄清楚这一步。 ..
接下来,您可以看到文本数据。您将如何阅读此文本,将这些值/数字存储在维度为 [3,4] 的矩阵中?
readdata.txt:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 0.00000e+00 0.00000e+00
2 1.00000e+00 0.00000e+00
3 0.00000e+00 -1.00000e+00
4 2.00000e+00 -2.00000e+00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
我被这个起始代码卡住了......
string line;
ifstream myfile ("readata.txt");
if (myfile.is_open())
{
while (! myfile.eof() )
{
for (int lineno = 0; getline (myfile,line) ; lineno++)
{
if (lineno >= 2 && lineno <= 5)
{
cout << line << endl;
}
else
{};
}
myfile.close();
}
else cout << "Unable to open file";
【问题讨论】:
-
使用
std::stringstream处理您的线路。 -
不要使用
while (! myfile.eof() ) -
请学会缩进你的代码。编写不可读的代码只会给你带来坏习惯,这些坏习惯会在(过早的)未来卷土重来并困扰你。
-
(你说得对,Joachim。)你能给我一些代码指导,以便我继续工作吗?我已经尝试了一些东西,但不能让它发挥作用......
-
了解如何使用
std::stringstream。创建一个包含一个整数和两个双精度数的类。创建该类型的std::vector,将字符串流中的值解析为该类的实例,并将push_back()该实例解析为向量。
标签: c++ arrays integer text-files