[英]The width option of sscanf does not work
我想使用sscanf的寬度選項( http://en.cppreference.com/w/c/io/fscanf )來控制要讀取的最大字節數。 但以下讀取超過3個字節。
#include <stdio.h>
int main() {
long long ll;
char str[4];
int pos;
sscanf(" 281", "%3llx%n", &ll, &pos);
printf("%llx %d\n", ll, pos);
sscanf(" 281", "%3s%n", &str, &pos);
printf("%s %d\n", str, pos);
return 0;
}
它打印出以下內容。
281 4
281 4
我以為它打印了
28 3
28 3
這是正確使用sscanf嗎? fscanf以類似的方式工作。
一些(大多數)格式隱式跳過空格(基本上除%c
和%[
之外的所有內容)。 跳過的空白不計入最大字段寬度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.