所以我正在尝试编写一个函数,根据调用它的时间打开一个不同的文件,但当我检查我正在尝试使用的文件名时,我得到一个奇怪的非acii字符,必须是一个snprint的问题。
char name[20];
sprintf(name,"file_part%d", 6); //likely problem here.
FILE *file=fopen(name,"r"); //this doesn't work
printf("name is : %s", name); // and this prints a weird symbol on the terminal
答案 0 :(得分:2)
printf("name is : %c", name); // and this prints a weird symbol on the terminal
%c
格式说明符用于打印字符,但name
是由ASCII nul(也称为C样式字符串)终止的字符数组。对于字符串,请使用%s
,而不是%c
。