Я работаю над игрой в палача, игрок должен угадать слово.
Я создал файл, содержащий слова, и это ссылка на мою игру.
моя игра генерирует случайное число, а затем ищет файл по слову.
например, мой файл состоит из 100 слов, и когда игра генерирует число, например, 10, оно должно перейти к десятому слову числа.
Я хочу создать файл с помощью блокнота и прочитать его. Существует один простой способ поиска: просто ищите один за другим, пока не достигнете сгенерированного числа. но я хочу более быстрый путь. я хочу записать в файл данные одинаковой длины, чтобы я мог искать их только один раз, чтобы узнать, сколько в нем слов, а затем создать случайный файл с ним. и когда моя игра генерирует число, используйте поиск () и идти к этому месту.
поэтому вопрос такой: могу ли я сделать это с файлом, набранным мной?
и если я не могу, мне нужно написать такой код в программе:
ofstream outputfile("outfile.dat", ios::binary);
char word[10];
while (cin >> word)
{
word[9] = '\0';
outputfile.write(reinterpret_cast<const char *>(&word),
sizeof(word));
}
в моей ссылке было что-то подобное для объектов. но здесь это не работает, и когда я хочу прочитать из этого файла, я получаю только пустую строку.
этот код может быть отформатирован, но он тоже не работает и не выдает слово одинаковой длины.
я использую этот кусок кода для чтения из файла, но он не работает:
ifstream in("outfile.dat", ios::in |ios::binary);
while(in.read(reinterpret_cast<char *>(&word), sizeof(word)))
cout << word << endl;
что проблема? этот метод работает для объектов …
и второй вопрос: как вы думаете, подобный алгоритм хорош вообще ??
Спасибо огромное
Задача ещё не решена.