如何在c中标记全行输入?
|
我需要从cmd解析一条看起来像这样的行
\"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\");
我没有正确的值,因为空格的数量可能会有所不同。如何标记输入行?
没有找到相关结果
已邀请:
4 个回复
爆刺疤灯
我不确定格式字符串中的前导空格是否绝对必要,但是如果输入行的开头没有实际的空格,我肯定这是正确的事件。
babsoft
,如下面的示例程序所示:
输出:
澳绍能
外镶受继
或
似乎很自然。你为什么反对呢?