
fscanf(fp1,"%s%s%s%d",a[i]sname,a[i]gname,a[i]htown,&a[i]idnum);
/为什么又使用fprintf /
fprintf(fp1,"%s%s%s%d",a[i]sname,a[i]gname,a[i]htown,&a[i]idnum);
/ fp1 指向的是文本文件,为什么使用二进制读取? /
fread(&a[i],sizeof(a[i]),1,fp1);
你没有给数组c赋初值啊
光定义数组的话,Windows里的char都是0xcc,而ANSI(GDB)中0xcc 0xcc就是“烫”。
修改方式:在打印数组c之前赋值。
可以在定义时:char c[100] = "Hello world";
也可以从键盘输入:gets(c);
如果数据文件是用fprintf()函数写入的,则用fscanf()函数读出,要点是两个函数的写/读格式要一致。
如果数据文件是用fwrite()函数写入的,则用fread()函数读出,写/读单位是sizeof(struct student)。
以上就是关于C语言函数调用问题! 输出是一堆乱码!不复杂!大侠进!!全部的内容,包括:C语言函数调用问题! 输出是一堆乱码!不复杂!大侠进!!、c语言程序乱码、C语言文件读取乱码问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)