Я хочу написать переменную 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
Вам нужно сохранить СОДЕРЖАНИЕ 'полезной нагрузки', а не строковый объект как таковой (который обычно содержит только длину и указатель на фактический контент) –