как форматировать указать const char * в C? - PullRequest
0 голосов
/ 26 августа 2018

У меня есть этот цикл:

while (fscanf(file, "%s", word) != EOF)

, но word здесь const char *, а не char *, так как я должен изменить %s?

1 Ответ

0 голосов
/ 26 августа 2018

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

Вы также должны отметить, что word должен указывать на некоторую допустимую доступную для записи память перед использованием в вызове scanf, иначе это приведет к неопределенному поведению.

...