我希望用戶能夠輸入如何在C中讀取一行中的多個單詞?
start <read_from_old_file.c> write_to_new_file.c
//or whatever type of file
所以一旦用戶鍵入命令「開始」,然後是「<」,這將表明讀取文件,而「>」將指示寫一個新文件。
問題是,我知道你可以使用
scanf("%s", buff);
但這會讀一個單詞,而不是去到下一個。
我希望用戶能夠輸入如何在C中讀取一行中的多個單詞?
start <read_from_old_file.c> write_to_new_file.c
//or whatever type of file
所以一旦用戶鍵入命令「開始」,然後是「<」,這將表明讀取文件,而「>」將指示寫一個新文件。
問題是,我知道你可以使用
scanf("%s", buff);
但這會讀一個單詞,而不是去到下一個。
您可以使用:
scanf("%[^\n]%*c",buff);
如果你想使用scanf()
這一點。
%*c
是由於擊中輸入而消除換行符。
使用'fgets()'讀取整行,'strtok()'查找單詞。 – Barmar
使用['fgets()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/fgets.html)或 ['getline()'](http://pubs.opengroup.org/ onlinepubs/9699919799/functions/getline.html)來讀取行。另見[如何在循環中使用'sscanf()'](http://stackoverflow.com/questions/3975236) –