如何格式化在C中指定const char *?

时间:2018-08-26 09:58:22

标签: c pointers format-specifiers

我有这个循环:

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

但是wordconst char *而不是char * 那么我应该如何更改%s

1 个答案:

答案 0 :(得分:4)

由于scanf系列用于读取输入,因此可以预期所提供的指针指向可写的内容。 const char *指针不能用于修改它指向的内容(即使目标实际上是可写的),因此绝不应该出现在scanf中以接收读取的数据。

您还应注意,word必须在指向scanf的调用中使用之前指向一些有效的可写内存,否则将导致不确定的行为。