回复 楼主 jack333fly
你这样操作的后果是:在当前的工作目录下会得到一个文档2.txt
内容如下:
The sum of these two numbers is:
-1717986920
很大的负数是因为你没有给first 和second 两个变量初始化 。
并且没有读取到1.txt的数据赋值给变量。
你想做这样的操作的话。这里我贴出了一段代码以供参考:不足之处还请批评指教
假设你1.txt的内容是
43 435
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream in("1.txt");
//文件必须存在
string strLine;
int first, second;
while(getline(in,strLine))
{
int lineLength = strLine.length();
int j=0;
string test[2];
for(int i=0; i<lineLength; i++)
{
if(strLine[i]!=' ')
{
test[j] += strLine[i];
}
else
{
j ++;
}
}
first
= atoi(test[0].c_str());
second = atoi(test[1].c_str());
}
ofstream out("2.txt");
//在没有文件的情况下会在当前目录下创建此文件
out<<"The sum of these two numbers is:\n"
<< (first + second) << endl;
return 0;
}
通过这段代码操作
2.txt内容如下
The sum of these two numbers is:
478
注意:我的是在vs2008下编译通过。
补充说明:如果你读取的是多行数据,你可以用数组或者stl来存取数据。这里就不展开了
就像如下数据的txt文件
N9.7,0.0,0.0
#
248,248,248
6.0GY,9.7,1.5
#
248,248,232
5.1GY,9.7,2.4
#
248,248,216
4.0GY,9.6,3.4
#
248,248,200
3.3GY,9.6,4.4
#
248,248,184
2.9GY,9.6,5.4
#
248,248,168
2.6GY,9.6,6.4
#
248,248,152
2.3GY,9.5,7.4
#
248,248,136
2.2GY,9.5,8.4
#
248,248,120
2.0GY,9.5,9.3
#
248,248,104
1.9GY,9.5,10.2
#
248,248,88
。。。。