关于数组结束符的问题
cpp_1 2018-12-18 11:55:08 程序用的是PRO C
1.我创建一个结构体
struct {
int s_r_id[101]; //序号
int s_r_ITEM_NO[101]; //项目ID
char s_r_BACK_CAT_CODE[101][20]; //条码
varchar test[101][50]; //测试值
} stu;
用INTO :stu ; 把数据写入到这个结构体上
同时用这个写法读取一条数据,到这个临时数组里面
stu.s_r_id[101]=stu.s_r_id[in];
stu.s_r_ITEM_NO[101]=stu.s_r_ITEM_NO[in];
strcpy(stu.s_r_BACK_CAT_CODE[101],stu.s_r_BACK_CAT_CODE[in]);
strcpy(stu.test[101],stu.test[in]);
但现在有一个问题,如果数据中BACK_CAT_CODE的值是有长长短短的,如果当前的值读出来只有4位
那我在用printf输出的时候,这个BACK_CAT_CODE除了这4位,后面还显示很多空间
我看有一些写法是需要补上\0
但我用stu.s_r_BACK_CAT_CODE[101].arr[stu.s_r_BACK_CAT_CODE[101].len]='\0'
一直报错,我应该怎么写才能补上这个结束符呢,或是有什么办法不写结束符,可以直接把,4位以后的空格都去掉呢。
另外char的处理方式 和varchar处理是方式是否一致呢?