我正在尝试将数组写入文本文件。但是当我写它。超出第一个空间的任何东西都被省略除了写入文件的第一个空格之外,我没有得到任何东西,比如如果我接受“这是我的作业”,我只会将“This”写入我的文件。如何修改它以获得整个输入。
ofstream pFILE ("FILE.txt", ios::out);
char * data = new char[100]
cout<<"Enter data"<<endl;
cin>>data;
pFILE << data;
答案 0 :(得分:2)
写这个
std::cin.getline(data,100);
而不是
cin >> data;
答案 1 :(得分:2)
您的问题是输入,而不是输出。
cin >> data;
停止在第一个空格中存储到data
,剩下的输入保留在缓冲区中。请改用getline
。
cin.getline(data,100);
更好的是使用标准字符串类,因此您不必担心大小,也不必担心清理。
std::string data;
std::getline(std::cin, data);