2013-03-28 81 views
2

我正在讀的形式如下文件:在一個循環中使用fscanf讀取字符時是否忽略空格?

fscanf(file, "%c", address); 

c h a r a c t e r s 

用的fscanf。它是否會讀取空格?我想忽略空格。我應該使用

fscanf(file, "%c ", address); 

取而代之? 但是,行中最後一個字符後面沒有空格,所以我認爲它不會讀取最後一個字符,因爲它不是「x」,而是「x」。

我無法檢查,因爲程序尚未完成。

+2

我只使用'fgetc'並測試其結果。 – teppic

回答

3

的開始把空間格式的前面。

scanf(" %c", address) 

空間實際上意味着「讀零個或多個空白」,所以" %c"意味着「忽略可選的空白和讀取一個字符(不必然空格)」。

+0

謝謝。我無法在任何地方找到該信息。 – majTheHero

0

正如你所說的添加空間字符串格式,但在字符串格式" %c"

int main() 
{ 
    FILE *file = fopen("file.txt","r"); 
    char address; 
    while(fscanf(file ," %c", &address)>0) { 
     printf("_%c", address); 
    } 
    printf("_\n"); 
}