簡體   English   中英

如何使用sscanf函數的FORMAT部分(或者如何使用sscanf函數)

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

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