当使用 scanf()
获取包含空格的字符串时,它仅分配空格之前给出的输入。就像我将“hello world”作为输入一样。只有“hello”被存储在变量中。我知道 scanf()
很自然。当我使用 gets()
时,它工作正常。但 gcc 报告说 gets()
已被弃用。它还会发出警告,指出 gets()
是危险的,不应使用。那么没有 gets()
如何获取带空格的字符串呢?还有其他替代功能吗?
最佳答案
您可以使用char *fgets(char *str, int n, FILE *stream)
要从用户那里获取输入,而不是 FILE* 流
,请使用标准输入 stdin
fgets (str, 60, stdin)
关于c - 如何在 C 中不使用 gets() 获取包含空格的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33320567/