2013-03-28 44 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"); 
}