#include <iostream> #include <fstream> #include <string> using namespace std; int main() { string content; cout << "input your content:" << endl; cin >> name; ofstream outfile("notebook.txt"); if (!outfile) { cout << "File cannot be opened." << endl; return 0; } cout << "what you input is:" << content << endl; outfile << content; outfile.close(); string show; cout << "do you want to show the file?0/1" << endl; int i; cin >> i; if (i = 0) return 0; ifstream infile("name.txt"); infile >> show; cout << "the file is:" << endl; cout << show; infile.close(); }
本人在学习输入输出流时,想做一个记事本,但是发现如果输入内容中有空格号就会丢失后面的内容,请问大虾如何能把我要记录的内容原原本本地保留下来?是基于输入输出流的知识的哦,感谢
string strContent;
getline(cin, strContent);
一切问题解决!
用getline()函数,遇到空格或eof结束符才会停止接收输入。想接收多行输入用while循环,在调整下格式应该就可以了,自己搜一下函数用法吧。
用流对象成员函数进行输入输出格式控制,可以用getline进行输入。
同意楼上,lz这个问题好像是输入被空格切割成了两个或两个以上的参数。
另外
if (i = 0) // 这里写错了。应该是==吧
return 0;