這段代碼是一個大程序的一部分。我現在面臨的問題是,當我用「寫」的成員函數將一個字符串寫入該文件,它不顯示字符串的最後一個字符:文件未顯示最後一個字符串當寫入文件
#include <iostream>
#include <cstring>
#include <string>
#include <cctype>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
fstream file1("https://stackoverflow.com/users/xxxxxxx/desktop/file1.txt", ios::out);
string data;
cout << "Enter string: " << endl;
getline(cin, data);
file1.write(reinterpret_cast<char*>(&data), data.size());
//file1 << data;
file1.close();
return 0;
}
例如:如果輸入字符串:「Hello World」的。 在文件上它會顯示:「Hello Worl」, 但是如果我使用「file1 < < data」輸入字符串,它確實工作正常。請幫我在這
謝謝,但我也有一個後續問題:何時使用**寫入**和何時使用** << **操作符寫入文件? –
當你想寫未格式化的二進制數據時,你應該使用'ostream :: write'。有關更詳細的解釋,請參閱http://www.cplusplus.com/doc/tutorial/files/。 – DigitalEye