我想寫一個std::string
變量,我接受從用戶到一個文件。我嘗試使用write()
方法,它寫入文件。但是當我打開文件時,我看到的是盒子而不是字符串。如何將std :: string寫入文件?
該字符串只是一個可變長度的單個單詞。是std::string
適合這個,或者我應該使用一個字符數組或東西。
ofstream write;
std::string studentName, roll, studentPassword, filename;
public:
void studentRegister()
{
cout<<"Enter roll number"<<endl;
cin>>roll;
cout<<"Enter your name"<<endl;
cin>>studentName;
cout<<"Enter password"<<endl;
cin>>studentPassword;
filename = roll + ".txt";
write.open(filename.c_str(), ios::out | ios::binary);
write.put(ch);
write.seekp(3, ios::beg);
write.write((char *)&studentPassword, sizeof(std::string));
write.close();`
}
請顯示您的代碼。一般來說,正確使用_if_,'std :: string'對此很好。 – Useless 2013-03-13 14:27:02
您需要保存字符串的「有效內容」內容,而不是字符串對象(通常只包含長度和指向實際內容的指針) – 2013-03-13 14:28:25