result[array_val]
, вероятно, должно быть buffer[array_val]
, однако учтите, что это будет указывать только на случайный символ, а не на случайное слово.Кроме того, вы не сможете присвоить результат random_word
, потому что типы несовместимы (вы не можете назначить массивы).Вы можете использовать memcpy
или strcpy
для копирования строки в массив, но будьте осторожны, перезапись памяти, которой вы не владеете, может привести к некоторому странному и непредсказуемому поведению.
Если всеслова в вашем файле разделены '\n'
символами, затем в качестве подсказки вы можете сделать следующее:
- Перейти к случайному символу в вашем
buffer
- Обратный поискк ближайшему
'\n'
или к первому символу буфера (в зависимости от того, который первый) у вас теперь есть указатель на первый символ случайного слова, - Поиск вперед до ближайшего
'\n'
,или до конца буфера (какой бы ни был первый), теперь у вас есть указатель на последний символ того же слова. - Копирование в
random_word
от первого до последнего символа
Вам нужно включить <stdlib.h>
, чтобы использовать malloc
.