scanf(%s) an issue with EOF
scanf(%s) an issue with EOF
我使用scanf是因为我们必须使用它。问题如下:(这只是问题的一个例子):
int main() {
char ch [10]={0};
scanf("%s",ch);
printf("%s",ch);
}
如果我运行程序并输入例如:word^Z^Z是EOF。程序停留在原地,卡在scanf中,尽管我确实输入了word,然后ctrl+z,然后Enter。但不知何故,它停留在scanf中,这与重定向是一样的,就像它不是ctrl +z或任何东西的问题。
我希望我能得到一些帮助
提前感谢,非常感谢:)
scanf
使用空白作为分隔符将读取的数据存储到各个字段中。在命令行中输入ControlZ,则Enter只将EOF
字符放入输入流中,scanf()
继续等待空格。如果您再次点击输入, scanf
将接收空白字符,并且包括EOF
在内的所有内容将存储到ch
数组中。
这是一个示例运行。第一行是输入,第二行是输出。
Hello^Z
Hello→
相关文章:
- Issue with WriteProcessMemory
- Issue with a for loop (C++, Visual Studio
- C++11 issue with GTest
- issue with std::map std::find
- Cin.get() issue with C++
- Intel GPUs, issue with VBOs, and SFML
- Issue with GetDlgItem
- Issue with QVBoxLayout
- Issue with Makefile for mysql
- Issue with glGetTexLevelParameter
- Issue with ItkVtkGlue
- QTableView issue with resizeEvent()
- Issue with mkl_free()
- _commit issue with fd()
- Issue with QHash
- Issue with 2D Array
- Sublime Text 2 Issue with Boost
- Issue with getcwd C++
- Issue with eclipse juno for c,c++ in windows
- scanf(%s) an issue with EOF