簡體   English   中英

使用fscanf讀取字符時-是否忽略空格?

[英]When reading characters with fscanf - are spaces ignored?

我正在讀取以下格式的文件:

c h a r a c t e r s

使用fscanf:

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

在一個循環中。 它也會讀取空格嗎? 我想忽略空格。 我應該使用

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

代替? 但是,行中最后一個字符之后沒有空格,因此我認為它不會讀取最后一個字符,因為它不是在“ x”中而是在“ x”中。

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

將空格放在格式前面。

scanf(" %c", address)

該空格實際上表示“讀取零個或多個空格”,因此" %c"表示“忽略可選的空格並讀取一個字符(不一定是空格)”。

如您所說,在字符串格式中添加空格,但在字符串格式" %c"的開頭

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM