北莽 2021-02-04 10:21 采纳率: 100%
浏览 103
已采纳

C语言,为什么文件内容读完了,后面出现很多乱码?

 

#include <stdio.h>
#include <stdlib.h>
#define Maxsize 100
int n=0;

struct Book
{
    char id[Maxsize];   //编号
    char name[Maxsize];  //书名
    char score[Maxsize];  //评分
}book1[3];

void browse()
{
    FILE * fp;
    int i = 0;
    if((fp = fopen("图书馆书籍.txt", "r")) == NULL)
    {
        printf("文件打开失败!");
        exit(0);
    }
    while(1)
    {
        fscanf(fp, "%s %s %s\n", book1[i].name, book1[i].id, book1[i].score);
        if(feof(fp)) break;
        i++;
        n++;
    }
    rewind(fp);
    fclose(fp);
}

void show_book()
{
    printf("书名   编号   评分\n");
    for(int i = 0; i < n; i++)
        printf("%s %s %s\n", book1[i].name, book1[i].id, book1[i].score);
}


int main()
{
    browse();
    show_book();
    return 0;
}

下面是编译出来的内容:

书名   编号   评分
肖申克的救赎 1 8.7
白夜行 2 9.1
平凡的世界 3 9.0
挪威的森林 4 9.2
小王子 5 9.0


  ools\Microsoft Visual Studio\MyProjects\thebighouse14\Debug\thebighouse14.exe


 
 


  B?
 (? 繡輚0輚€疖u _躸@*輚@輚袟躸`C輚P/輚燗輚?輚b辵@E辵悹躸PF躸燝辵0\u
 鵆w愜Bw衈躸癬辵癅輚pG輚0@躸@?輚 ocess
gA
sW ingsA Free
CP eBuffers KERNEL32.dll


767?7?????88"8/858A8G8P8V8[8h8????????%9D9U9t9????????;(;-;d;???'<0<????????????=)=C=b=???? ?C?]?€???  ??????????=)=C=b=???? ?C?]?€???
??:8O8[8????99E9???95:A:??:;?;D;j;o;??????<€<????=T=t=??&>*>.>2>E>W>u>???S?????? ?2g2s2????33&3F3L3U3e3n3?(4=4I4?????+575R5e5??? ?S??????
s????? `8|8??
9919;9????:??<*<U<k<????3=?=P=Z=j=t=???1>7>E>M>S>g>t>y>>???????+?g?s????? [4p4?????5/5L5v5|5??)6<6Z6l6r6{6?7*7o7??<8C8r8??????89b9F:s:??p<w<????
?$?0? p '=+=/=3=7=;=?=C=G=K=O=???$?2?;?I?O?X?f?p?~?????
X8\8a8n8x8?? }3?????44454F4[4f4u4?<5G5Z5n5t5??????6616;6L6n6???????<7]7c7u7??
=:=?>>E>???? ?/?s????A4E5N5W5m5v5???666+6?6H6O6u6~6??7757u7??????e8??9@9j9q9???:N:U:c:???';.;~;?r<y<??
t0{0???????1111R1i1????2"2'2-2=2C2I2O2Y2c2?????????888(868B8S8^8g8}8?????????????999(919????/:;:\:?(>3>;>e>k>s> =:=?>>E>???? ?/?s???? ??????????999(919????/:;:\:?(>3>;>e>k>s>€>??????????#?*?P?X?
? b7k7???????????888$8+80898A8L8V8e8n8t8?????9????? ??
z??? ?????4;5j5B6L6y6?????7>7H7?;&;/;??==A>K>Q>\>h>m>??????????>?G?[?j?n?r?v?z??? ?????4 44`4????????5$5+555V5x5???6&6E6f6????767X7????&8E8???
9p9y9??N;W;???==%=:=P>Y>T?]???
L6[6_6c6g6k6?7/7Z7???????8 8A8n8y88??9 9(969<9H9o9????????#:*:P:T:X:\:`:?????;;???<-<Q<????==*=~=??????>>5>H>?????????5?<?@?D?H?L?P?T?X?????? ?N;W;???==%=:=P>Y>T?]??? ??;;???<-<Q<????==*=~=??????>>5>H>?????????5?<?@?D?H?L?P?T?X??????
9999 9$9(9,909z9€9????:::(:9:C:M:`:o:????];€;????<D<c<€<???? ? ???<D<c<€<????
f9l9r9x9~9?????????????????????:::: :&:,:P:U:k:????€;????? ??????4404W4??G5??)6??7F7??8 8?8i8???????
 L>T>`>h>l>p>t>


Press any key to continue

  • 写回答

4条回答 默认 最新

  • 不爱代码的小瘪三 2021-02-04 16:32
    关注

    应该内存开辟后残留的无效数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示