所以我試圖寫一個c程序,可以通過命令行讀取每行文件傳遞給它並打印出每行。我的代碼如下所示:如何使用scanf以空格讀取文件的每一行?
#include <stdio.h>
#include <stdlib.h>
int main(void){
char num[20];
for (;;){
if((scanf("%[^\n]s", num)) != 1){
break;
}
printf("%s\n", num);
}
}
UNIX命令行是:./printeachline < num.txt
的num.txt包括這些行:
01 0111111119 111122222228 123400000000 1234kk444k44 oooo11111111 o dk39754i2oo 002711111116 124145245 246623 0027111111167 888888888888 100900000011
我很期待打印輸出是num.txt中的每一行,但是當我輸入命令時只打印第一行,即01 0111111119.我該如何解決這個問題?
如果我想讀2個整數,而不是一個字符串呢? –
@TomášZato使用'sscanf'從'fgets'獲取的字符串中讀取整數。 –