Printf在到达空字符时不会停止打印

时间:2014-04-09 10:39:12

标签: linux string null printf

我试图在我的程序中调试空取消引用。该程序从用户提交的Web表单接收数据。似乎问题与空字段有关。当用户提交表单时,最终在char *tabledata变量中检索表数据。

tabledata使用以下格式处理表的数据:

"row1column1value/row1column2value/row1column3value|row2column1value/row2column2value/row2column3value|\0"

出于调试目的,使用以下方式打印tabledata内容:

printf("\n tabledata is = %s \n\n", tabledata);

但是当我提交表格时,如果我将第二行的第一列留空,我将获得此输出:

 tabledata is = 11/22/33/44/55/22/33|(null)/1/44/55/88/33/44|

printf到达空字符时,如何才能停止打印?如何检查此(null)值是否真的是\0空字符?

1 个答案:

答案 0 :(得分:0)

%s以及printf将不会这样做。

您必须使用puts(tabledata);

希望这能回答你的问题。