Сейчас я делаю свой курсовой проект в университете. Мне нужна помощь. Я хочу создать простой словарь. И я использую двоичный метод файла, чтобы сделать это. В следующем коде я пытаюсь написать строки текста, который также содержит пробелы. Но я получаю неправильный вывод. Кто-нибудь может мне помочь написать тексты с пробелами в двоичные файлы и прочитать их?
//These are global variables in my code
string sword;
string sdefinition;
Вот мой класс:
class Input
{
public:
char word[50];
char definition[300];
void input()
{
cout << "Enter a new word: ";
getline(cin, sword);
sword.copy(word, sword.size() + 1);
cout << "Enter the definition: ";
getline(cin, sdefinition);
sdefinition.copy(definition, sdefinition.size() + 1);
}
void output()
{
for (int i = 0; i < strlen(word); i++)
{cout << word[i];}
cout << endl;
for (int i = 0; i < strlen(definition); i++)
{cout << definition[i];}
cout << endl;
}
};
Это моя основная функция:
int main()
{
ofstream a("data", ios::app | ios::binary);
Input i;
i.input();
a.write((char*)&i, sizeof(i));
a.close();
ifstream b("data", ios::binary);
b.read((char*)&i, sizeof(i));
i.output();
b.close();
return 0;
}