這裏是我的做法代碼:C++ sscanf的空間分隔字符串
int integer_part;
char* string_part = (char*)malloc(sizeof(1000));
char* input_string = (char*)malloc(sizeof(1000)+sizeof(int));
cin>>input_string;
sscanf(input_string, "%s %d", string_part, &integer_part);
printf("scan: %s %d", string_part, integer_part);
我使用這個代碼,以輸入像abc 2012
但結果將是abc 0
可悲的是,我沒有看到哪裏出了問題是。任何人都可以幫我一下嗎?謝謝
'CIN >> input_string'只會在你的'input_string'把'abc'。使用'getline'。 – jxh
'的sizeof(1000)''是的sizeof(int)的',通常4. –
一邊從CIN這不是C++,這爲c。不要使用malloc/free使用new/delete。不要用printf,使用COUT,並且不使用sscanf的使用stringstreams終於不使用的char *使用的std :: string – Borgleader