对于C来说还很陌生,我有一个可能很简单的问题。我正在用C编写一个程序,该程序会从用户那里读取一系列字符串。在用户指示他已经完成输入字符串之后,程序应该对这些字符串进行处理。他通过输入“ Ctrl-D”来做到这一点。
我在弄清楚如何检查用户是否输入了“ Ctrl-D”时遇到麻烦。从我的初步研究来看,似乎Ctrl-D应该与文件结尾有关,这似乎不是我可以轻松检查的字符。
我正在尝试通过scanf读取这些字符串。我有以下代码(请忽略最终返回的初始字符串数组。我知道当前它什么也不做。
char **get_fragments_from_user(){
char *strings[20000];
char tempstring[1001];
while(true){
printf("\n> ");
scanf("%s", &tempstring);
printf("\n Recorded %s", tempstring);
if(tempstring[0] == -1) break;
}
return strings;
}
有没有一种简单的方法来检查用户是否输入了“ Ctrl-D”?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句