首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言出现 烫烫的乱码 !

2013-10-15 
C语言出现 烫烫的乱码 求助求助!!!!# includestdio.h# includestring.hvoid sortname(){struct studen

C语言出现 烫烫的乱码 求助求助!!!!
# include"stdio.h"
# include"string.h"
void sortname()
{
struct student
{char name[20];
char num[20];
char donum[20];
char qq[10];
char telenum[20];
}stu[100],stu1[1];

    FILE * fp;
int i = 0,j,k,n;
if((fp = fopen("e:\\1.txt","r")) == NULL)
{ printf("不能打开文件\n");
  exit(0);
}
while(! feof(fp))
{ fscanf(fp,"%s%s%s%s%s",stu[i].name,stu[i].num,stu[i].donum,stu[i].qq,stu[i].telenum);  
  i++;
}
for(j = 0;j < i-1;j++)
{   for(k = j+1; k < i;k++)
if(strcmp(stu[j].name,stu[k].name) > 0)
{   stu1[0] = stu[j];
stu[j] = stu[k];
stu[k] =stu1[0];

}

}
fclose(fp);
if((fp = fopen("e:\\1.txt","w")) == NULL)
{ printf("不能打开文件\n");
  exit(0);
}
for(n = 0; n < i; n++)
fprintf(fp,"%s  %s  %s  %s %s\n",stu[n].name,stu[n].num,stu[n].donum,stu[n].qq,stu[n].telenum);
fclose(fp);

}
main()

sortname();
}
[解决办法]
ZeroMemory
[解决办法]
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A

[解决办法]
使用前先ZeroMemory一下 或者是加个‘\0’
[解决办法]
内存没有初始化嘛~
方法1:二楼说的那样memset一下,例如:memset(a, 0, sizeof(a);
方法2:初始化一下结构体的值,例如struct student stu[100] = {NULL};

热点排行