第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言 結(jié)構(gòu)體指針字符 二進(jìn)制文件寫入和讀取

C語言 結(jié)構(gòu)體指針字符 二進(jìn)制文件寫入和讀取

C#
繁華開滿天機(jī) 2019-03-22 15:14:36
typedef struct s{char *name;}student;/*將結(jié)構(gòu)體讀出并顯示*/int IsUsed(char *str){FILE *fp = fopen("test","rb");student s;s.name = (char*) malloc(sizeof(char)*20);fread(&s,sizeof(student),1,fp);while(!feof(fp)){printf("%s",s.name); //為什么這里出錯??????????????????if(strcmp(s.name,str)==0){fclose(fp);return 1; //存在該字符串,則返回1}fread(&s,sizeof(student),1,fp);}fclose(fp);return 0; //不存在該字符串,則返回0}int main(){FILE *fp = fopen("test","rb+");/*先將結(jié)構(gòu)體P存入二進(jìn)制文件中*/student p;p.name = (char*) malloc(sizeof(char)*20);scanf("%s",p.name);while(IsUsed(p.name)){ //檢查員工號是否唯一printf("該字符串已經(jīng)存在,請更換一個:");scanf("%s",p.name);}fwrite(&p,sizeof(student),1,fp);}
查看完整描述

2 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊

當(dāng)然不對了,你的結(jié)構(gòu)體成員,是一個指針
sizeof(student) ,win32是4字節(jié),win64是8字節(jié)
當(dāng)讀入其中4個或8個字節(jié)時,它指向的指針地址并不一定存在

你可以定義為一個字符數(shù)組

查看完整回答
反對 回復(fù) 2019-03-27
  • 2 回答
  • 0 關(guān)注
  • 1143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號