[英]fscanf reading multiple strings
因此,我正在創建一個ac程序,該程序讀取一個查詢文件,其中填充了要在表上執行的命令。 所以我用了:
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時,我知道它將把命令保存到命令數組中。 但是我應該將字符串“ empty”還是null作為更好的放置方式? 我不確定在使用strcmp或通常使用fscanf覆蓋數組時是否有必要。 謝謝!
您不必擔心會被覆蓋的內容。 您只( 總是 )擔心在使用它的值之前對其進行初始化。 因為否則它是未定義的行為。
更重要的是,您應始終檢查在內存上運行的函數的返回值。 您永遠都不能指望“會起作用”。 因為一段時間后,您會突然遇到細分錯誤 ,並且不知道如何解決。
如果您不知道如何:
int check;
check = fscanf(query, "%s", command);
if(check == EOF)
perror("fscanf");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.