我需要解析从CMD,看起来像这样如何在c中输入一个完整的行输入?
"SOME WHITE SPACE" "var_name" "SOME WHITE SPACE" "var_value" "SOME WHITE SPACE"
我把用于fgets整个一行:
fgets(input_buf,MAX_LINE_LENGTH,stdin);
,并试图来标记这样的:
sscanf(input_buf,"%s", var_buff);
sscanf(input_buf+strlen(var_buff),"%s", var_val_buff);
sscanf(input_buf+(strlen(var_buff)+strlen(var_val_buff)+2),"%s", rest_line_buff);
if (strlen(rest_line_buff) == 0)
printf("error in usage\n");
由于空格的数量可能会有所不同,我没有得到正确的值。我怎样才能标记输入行?
你是否将''SOME WHITE SPACE'“var_name”“SOME WHITE SPACE”“var_value”“SOME WHITE SPACE”'作为命令行参数?没有得到这个问题。 – Sadique 2011-04-17 14:28:31
不 - 我正在循环用户在命令行中键入的许多值 - 这不是一个参数。谢谢 – aaaa 2011-04-17 14:30:45