請看看這個代碼片段:分配抑制標誌的fscanf
char line[80];
if(fscanf(stdin, "%*[\t\v\f ]%79[^\n]", line) != EOF)
printf("%s\n", line);
輸出:
$ gcc line.c -o line
$ ./line
One space at the beginning.
One space at the beginning.
$ ./line
No space at the beginning.
$
現在在No space at the beginning
情況下,爲什麼不打印整個字符串,因爲它是什麼?如果在該行的開頭沒有空格,製表符或分頁符
$ gcc --version
gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
對不起,無意中編輯了你的答案,而不是我自己的答案。 – hmjd
@hmjd我認爲是這樣:) – zakinster