我已阅读“可能已经有你的答案的问题”的答案,但它没有帮助我。写入文件,编译,创建文件,但不写
我想我的问题有一个快速的解决方案。
我想写其中
- 用户输入他们想要创建的文件名的程序。
然后
在同一行他们输入的整数量=新创建的txt文件的文本的行数。
在新行中,用户输入文本的第一行,在新行中输入下一行,等等。
并将所有这些行保存到创建的文件中。
例如file.txt 3
bhjudshsu 565 jdd
hcxjs
jdckisa jsdjs
开放名为file.txt我应该看到上述三行的文本文件之后。
这里是我的代码示例:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
int amount;
string fileName, line;
ofstream start;
cin>>fileName>>amount;
ofstream out(fileName.c_str());
for(int i=0; i<amount; i++)
{
getline(cin, line);
start<<line<<endl;
}
start.flush();
start.close();
return 0;
}
的问题是,该文件被创建,但它是空的。
此外,如果我输入file.txt 3
程序关闭后,我只输入两行。
你能告诉我我做错了什么吗?
我投票关闭这一问题作为题外话,因为它涉及到一个简单的和不寻常的编码错误,不太可能帮助未来的读者。 – Beta
两个注意事项:1)流输入('cin >> ...')和'getline'不能很好地协同工作,所以你必须做出让步,2)最好是独立开发新的功能*尽可能 - 你应该得到**用户输入**和**文件输出**完美工作,然后再尝试合并它们。 – Beta