Как вернуть адрес строки (как Char-указатель) - PullRequest
1 голос
/ 14 апреля 2020

Мой файл содержит только 1 слово (не более 20 символов) в каждой строке, а также содержит 100 строк. Я пытаюсь прочитать случайную строку из файла и поместить ее в char * str этой случайной строки. Мне нужен адрес слово, чтобы использовать строку, читаемую позже (потому что после того, как я напечатаю ее в 2d массиве (как слово-головоломка). Как мне вернуть их адрес или что нужно, чтобы напечатать его в другой функции позже? Не могли бы вы показать мне один пример об этом? , я ищу около 1 дня, прочитал случайное слово из файла и все еще не просвещен.

char read(char *file, char *str);
return (char *)str;

не работает, как я ожидал, есть предупреждение, которое

возврат 'char *' из функции с типом возврата 'char' делает целое число из указателя без приведения.

1 Ответ

1 голос
/ 14 апреля 2020

Прежде всего, не используйте то же имя, что и библиотечные функции для пользовательских функций, read() - известная библиотечная функция POSIX.

Тем не менее, сообщение об ошибке (или предупреждение) вполне понятно, есть несоответствие типов. Чтобы вернуть char *, вам нужна функция с типом возврата char *. Определите функцию, имеющую char * в качестве типа возврата, например

char * my_read (.....

вместо

char my_read (.....
...