假設有一個字符串我想用C解析。 解析我想使用函數sscanf()
。從C中的字符串解析浮點值時出現問題
現在,在一個點上,在字符串中有一個浮點型數字,它可能會擴展到一個很大的值(十進制之前/之後),有時甚至更少。基本上這意味着數字的寬度是可變的。
例如,
的數目可以是15.5686,15.5686778887或156.867788
讓我們這樣的字符串
Str1 = "Hello15.5686World"
Str1 = "Hello15.5686778887World"
在運行期間任何上述串的可能必須被解析。
然而,數字的起點是固定的,但我們不知道它在哪裏結束。那麼,什麼是確定相同的方法,以便「世界」(數字後的子字符串)可以被正確解析或讀取。
您必須縮小可能的輸入範圍。 1)數字可以使用什麼浮點格式?它只是小數,還是十六進制? 2)字符串的非數字部分是否可以包含數字? – EOF
如果我們可以知道數字的最大寬度,那麼我們可以修復它的開始/結束點。但是,無論數字有多大或多少,每次需要解析字符串時,它總是會使用該空間量。 – Anand
@EOF:是的,非數字部分可能包含數字。 – Anand