0
所以我创建了一个读取查询文件的c程序,该文件充满了在表上执行的命令。所以我用:fscanf阅读多个字符串
char command[100];
while(1)
{
fscanf(query, "%s", command);
x=strcmp(command, "select");
//continue with checking for other commands etc.
//if the command is stop then the loop breaks
}
我的问题是当我第一次调用fscanf,我知道它会将命令保存到命令数组中。但是,我应该让字符串“空”,还是空作为更好的方式来放置它?我不确定使用strcmp时是否有必要,或者一般用fscanf覆盖数组。谢谢!
你应该做的是从测试中的fscanf返回值;其他任何东西都是惊喜的秘诀,比如非终止循环。 – Jens
您不必担心清除数组。但还有其他一些问题需要担心,尤其是'fscanf',尤其是'%s'。 'fgets'可能是更好的选择。 –
也许'char命令[100] = {“”}; while(fscanf(query,“%99s”,command)== 1){...}'将确保编码更安全。 – chux