[英]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.