我無法使用scanf
將字符串存儲到2d數組中。將scanf值存儲到2d字符串數組中
爲了說明這一點,這是程序接受輸入:
p2/src/stuff:5:
p3/src/stuff:5:
p4/src/stuff:6:
所以,我希望能夠用冒號分割字符串和數字,然後分開存放。所以理想情況下,我的二維數組看起來像這樣用於字符串:
[["p2/src/stuff"], ["p3/src/stuff"], ["p4/src/stuff"]]
數字可以存儲在1d數組中。
這是我到目前爲止有:
int main() {
char *str;
char *i;
int n = 1;
while (n == 1) {
n = scanf("%m[^':']:%m[^':']:", &str, &i);
}
printf("# inputs read: %d\n", n);
printf("%s\n", str);
printf("%s\n", i);
}
這將只打印第一行:
p2/src/stuff
5
我應該有劑量指針運算的迭代器?我不熟悉指針算術。
哇。那太糟糕了。難怪這不符合C11標準。感謝那裏的參考。 – 2015-02-08 13:05:27