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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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); //為什么這里出錯(cuò)??????????????????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)){ //檢查員工號(hào)是否唯一printf("該字符串已經(jīng)存在,請(qǐng)更換一個(gè):");scanf("%s",p.name);}fwrite(&p,sizeof(student),1,fp);}
查看完整描述

2 回答

?
HUX布斯

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

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

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

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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