这里是我的做法代码: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