将整数写入C++中的.txt文件
问题描述:
我是C++新手,想要在.txt
文件中写入数据(整数)。数据有三列或更多列,以后可以读取以供进一步使用。我已经成功创建了一个阅读项目,但是为了编写一个文件而创建的,但它是空白的。我已经尝试了来自多个网站的代码示例,但没有帮助。 从代码中可以看出,我必须写出三个不同方程的结果。将整数写入C++中的.txt文件
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int i, x, y;
ofstream myfile;
myfile.open ("example1.txt");
for (int j; j < 3; j++)
{
myfile << i ;
myfile << " " << x;
myfile << " " << y << endl;
i++;
x = x + 2;
y = x + 1;
}
myfile.close();
return 0;
}
请指出错误或提出解决方案。
答
std::ofstream ofile;
ofile.open("example.txt", std::ios::app); //app is append which means it will put the text at the end
int i{ 0 };
int x{ 0 };
int y{ 0 };
for (int j{ 0 }; j < 3; ++j)
{
ofile << i << " " << x << " " << y << std::endl;
i++;
x += 2; //Shorter this way
y = x + 1;
}
ofile.close()
试试这个:它会写出你想要的整数,我自己测试它。
基本上我改变的是首先,我初始化所有的变量为0,所以你得到正确的结果,并与thestream,我只是将它设置为std :: ios :: app,它代表追加(它基本上。在文件的结尾总是写整数我也只是做
答
使用前初始化j
。
所以,你for
循环将是:
for (int j = 0; j < 3; j++)
{
// ...
}
需要初始化i
,x
和y
用默认值如0
。
否则,你会得到垃圾值。
递增'我'仍然是未定义的行为。所以增加'x'。 – muXXmit2X
这不在我身边,我只是确保它可以写入文件,他完成他想要的整数。 – SoLux
那么你的答案还是会导致未定义的行为,应该通过任何方式避免!你初始化'y',那么问题出现在初始化'i'和'x'的位置。 – muXXmit2X