请查看以下代码。
#include <stdio.h>
void main(){
char driver_list[128] = {"123456,fariz,12345678,012-345-6789\n"
"234567,山田花子,23456789,012-345-6789\n"};
int drvrId;
char drvrName[32] = {0}, coma, userPsswrd[8];
sscanf(driver_list, "%d%c%[^,]%c%[^,]", &drvrId, &coma, drvrName, &coma, userPsswrd);
printf("\n %d %c %s %s\n", drvrId, coma, drvrName, userPsswrd);
}
我期望输出像 “ 123456,fariz 12345678”
但是我越来越 “ 123456,12345678”
当我在该数组(drvrName)中打印每个字符时,第一个字符是 0x00(Null)。所以没有数据打印。怎么可能第一个字符 变为NULL?
请帮助。