[英]How use the FORMAT part of the sscanf function (or how to use the sscanf function in general)
我在程序中遇到了以下行。 從閱讀手冊,我知道sscanf從指向argv [2]的地方復制,但我不確定為什么FORMAT被指定為%d,同時,%c(我見過其他雙引號中包含更多格式說明符的示例。 是因為sscanf將小數寫入struct元素“%g.number”,一個字符為“%c”? 謝謝!
sscanf(argv[2], " %d %c", &g.number, &c)
是。 從argv [2]讀取,一個整數到g.number,一個char到c。
例如argv [2]可以是“123 a”
它指定的是零個或多個空白字符后跟一個數字,后跟零個或多個空格字符,然后是一個字符。 它將數字的值放在g.number中,將字符放在c中。 我不確定為什么它會掃描一個數字然后是一個字符,但是如果輸入沒有以數字開頭,則不會將任何內容分配給任何變量,並且sscanf的返回值將為零,這是多少變量如果它失敗了,那么g.number中的值將是它占用的內存槽中的任何值,這可能是任何東西,因此是未定義的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.