2012-09-27 94 views
1

我試圖從傳遞給函數的字符串常量中讀取單個字符,並將它們放入數組中。我想要的最終結果是一個字符串數組,它是與字符串常量相同的字符串。這是我的代碼:使用sscanf從C中的字符串常量中讀取單個字符

for(int i = 0; i < string_length; i++) 
{ 
    sscanf(string, "%c", &array[i]); 
} 

當字符串爲「字符串」我得到的是一個字符串長度大小的數組與每個值是一個s。 任何想法?

回答

4

sscanf無法記住您的索引定位並自動增加指針。所以,實際上,每當您在循環中調用它時,它最終都會讀取第一個字符。

嘗試如下

sscanf(string+i, "%c", &array[i]); 

附加說明: 可以如用strcpy的或memcpy的字符串複製到一個字符數組。我希望你有足夠的理由爲此使用sscanf。

+0

非常感謝。這樣可行 – user1701899