C語(yǔ)言實(shí)現(xiàn)銀行管理系統(tǒng)(文件操作)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)銀行管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
銀行管理系統(tǒng)主要有五個(gè)模塊組成:
1、查詢賬戶信息
2、存錢
3、取款
4、轉(zhuǎn)賬
5、退出系統(tǒng)
測(cè)試文件:(首先在cpp文件所在目錄下添加這個(gè)文件,運(yùn)行程序會(huì)自動(dòng)添加文件,但是需要輸入這些數(shù)據(jù))
代碼:
#include<stdio.h> ? ?/*I/O函數(shù)*/ #include<stdlib.h> ?/*其它說明*/ #include<string.h> ?/*字符串函數(shù)*/ #define max 100 #define LEN 15 ? ? ?/* 賬號(hào)和密碼最大字符數(shù),實(shí)際請(qǐng)更改*/ #define N 100 ? ? ? ?/* 最大賬戶數(shù),實(shí)際請(qǐng)更改*/ int k=1,n=0, m=0;/* n代表當(dāng)前記錄的學(xué)生人數(shù)*/ //賬戶信息結(jié)構(gòu)體 struct banker { ? ? char accountNo[LEN]; ? ? char accountName[LEN]; ? ? char Password[LEN]; ? ? float Balance; ?? ?char VIPoNormal[LEN]; }bank[N]; void fileWrite(); //存錢 void Save() { ?? ?int item,i;? ?? ?char s1[LEN+1]; //用來輸賬號(hào)的? ? ? printf("請(qǐng)輸入需要存錢的賬號(hào)\n"); ? ? scanf("%s",&s1); ? ? for(i=0; i<n; i++) ? ? ? ? ? ? ? ? ?//n代表當(dāng)前記錄數(shù) ? ? { ? ? ?? ?if(strcmp(s1,bank[i].accountNo)==0)? ? ? ?? ?{ ?? ??? ??? ?item=i; ?? ??? ?}? ?? ?} ?? ?printf("請(qǐng)輸入需要存錢的金額\n"); ?? ?float wd =0.0; ?? ?scanf("%f",&wd);? ?? ?bank[item].Balance+=wd; ?? ?fileWrite();? ?? ?return; }? //查詢銀行賬戶信息 void seek() { ?? ?//先把賬戶信息讀進(jìn)來?? ?必須輸入該賬號(hào)和對(duì)應(yīng)的密碼,輸入錯(cuò)誤則給出警告? ?? ?int j=0; ? ? FILE * fp; ? ? if((fp=fopen("account.txt","r"))==NULL) ?? ??? ?return ; ?? ?while(fscanf(fp,"%s %s %s %f %s\n",&bank[j].accountNo,&bank[j].accountName,&bank[j].Password,&bank[j].Balance,&bank[j].VIPoNormal)==5)? ?? ?{ ? ? ? ? j++; ? ? } ? ? n=j; ? ? int i=0,item=0,flag=0; ? ? char s1[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸賬號(hào)的? ? ? char s2[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸密碼的? ? ? printf("請(qǐng)輸入需要查詢的賬號(hào)\n"); ? ? scanf("%s",&s1); ? ? for(i=0; i<n; i++) ? ? ? ? ? ? ? ? ?//n代表當(dāng)前記錄數(shù) ? ? { ? ? ?? ?if(strcmp(s1,bank[i].accountNo)==0)? ? ? ?? ?{ ?? ??? ??? ?flag=1; ?? ??? ??? ?item=i; ?? ??? ?}? ?? ?}? ? ? if(0==flag) ? ? ? ? //輸入的賬號(hào)和存好的賬號(hào)不一致 ? ? ? ? printf("該賬號(hào)不存在!\n"); ? ? else{ ? ? ?? ?int flag1=0;//判斷密碼輸入是否正確? ? ? ?? ?printf("請(qǐng)輸入需要查詢的賬號(hào)對(duì)應(yīng)的密碼\n"); ? ? ?? ?scanf("%s",&s2); ? ? ?? ?if(strcmp(s2,bank[item].Password)==0) ?? ??? ?{ ?? ??? ??? ?flag1=1; ?? ??? ?}? ?? ? ? ?if(flag1==0){ ?? ? ? ??? ?printf("密碼輸入錯(cuò)誤\n");//這塊可以改,重新輸入,初步打算while循環(huán)? ?? ? ? ??? ?return;? ?? ??? ?}else{ ?? ??? ??? ?printf("密碼輸入正確\n"); ?? ??? ??? ?printf("您余額為:%10.1f\n",bank[item].Balance); ?? ??? ?} ? ? ?? ? ?? ?} ? ? return;? ? ?? }? //取款模塊 // vip一次最多3000 普通的2000 // 提取的錢超過余額則失敗 ?,用戶可以選擇重新輸或者返回主菜單 // 取錢后進(jìn)行相應(yīng)的更新 ? void Withdraw() { ?? ?//首先肯定需要查詢一下? ?? ??? ?//先把賬戶信息讀進(jìn)來?? ?必須輸入該賬號(hào)和對(duì)應(yīng)的密碼,輸入錯(cuò)誤則給出警告? ?? ?int j=0; ? ? FILE * fp; ? ? if((fp=fopen("account.txt","r"))==NULL) ?? ??? ?return ; ?? ?while(fscanf(fp,"%s %s %s %f %s\n",&bank[j].accountNo,&bank[j].accountName,&bank[j].Password,&bank[j].Balance,&bank[j].VIPoNormal)==5)? ?? ?{ ? ? ? ? j++; ? ? } ? ? n=j; ? ? int i=0,item=0,flag=0; ? ? char s1[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸賬號(hào)的? ? ? char s2[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸密碼的? ? ? printf("請(qǐng)輸入賬號(hào)\n"); ? ? scanf("%s",&s1); ? ? for(i=0; i<n; i++) ? ? ? ? ? ? ? ? ?//n代表當(dāng)前記錄數(shù) ? ? { ? ? ?? ?if(strcmp(s1,bank[i].accountNo)==0)? ? ? ?? ?{ ?? ??? ??? ?flag=1; ?? ??? ??? ?item=i; ?? ??? ?}? ?? ?}? ? ? if(0==flag) ? ? ? ? //輸入的賬號(hào)和存好的賬號(hào)不一致 ? ? ? ? printf("該賬號(hào)不存在!\n"); ? ? else{ ? ? ?? ?int flag1=0;//判斷密碼輸入是否正確? ? ? ?? ?printf("請(qǐng)輸入需要查詢的賬號(hào)對(duì)應(yīng)的密碼\n"); ? ? ?? ?scanf("%s",&s2); ? ? ?? ?if(strcmp(s2,bank[item].Password)==0) ?? ??? ?{ ?? ??? ??? ?flag1=1; ?? ??? ?}? ?? ? ? ?if(flag1==0){ ?? ? ? ??? ?printf("密碼輸入錯(cuò)誤\n");//這塊可以改,重新輸入,初步打算while循環(huán)? ?? ? ? ??? ?return;? ?? ??? ?}else{ ?? ??? ??? ?printf("密碼輸入正確\n"); ?? ??? ??? ?printf("您余額為:%10.1f\n",bank[item].Balance); ?? ??? ??? ?printf("請(qǐng)輸入需要取款的金額"); ?? ??? ??? ?printf("您的賬戶類型是%s\n",bank[item].VIPoNormal); ?? ??? ??? ?printf("*****注意事項(xiàng):*****\n"); ?? ??? ??? ?printf("取款金額不能超過限額\n"); ?? ??? ??? ?printf("V類型用戶單次取款不得超過3000元\n"); ?? ??? ??? ?printf("N類型用戶單次取款不得超過2000元\n"); ?? ??? ??? ?//判斷類型 ?? ??? ??? ?float jud=0.0; ?? ??? ??? ?if(strcmp(bank[item].VIPoNormal,"V")==0)? ?? ??? ??? ?{ ?? ??? ??? ??? ?jud=3000; ?? ??? ??? ?} ?? ??? ??? ?else jud=2000; ?? ??? ??? ?float wd =0.0; ?? ??? ??? ?scanf("%f",&wd);? ?? ??? ??? ?while(bank[item].Balance<wd || wd>jud) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("輸入不符合規(guī)范,請(qǐng)按照注意事項(xiàng)進(jìn)行輸入"); ?? ??? ??? ??? ?scanf("%f",&wd); ?? ??? ??? ?} ?? ??? ??? ?//取款之后的更新操作 ?? ??? ??? ?bank[item].Balance-=wd; ?? ??? ??? ?fileWrite();? ?? ??? ? ?? ??? ?} ? ? ?? ? ?? ?} ?? ? ?? ?return; } //轉(zhuǎn)賬 void Transfer() { ?? ??? ?//首先肯定需要查詢一下? ?? ??? ?//先把賬戶信息讀進(jìn)來?? ?必須輸入該賬號(hào)和對(duì)應(yīng)的密碼,輸入錯(cuò)誤則給出警告? ?? ?int j=0; ? ? FILE * fp; ? ? if((fp=fopen("account.txt","r"))==NULL) ?? ??? ?return ; ?? ?while(fscanf(fp,"%s %s %s %f %s\n",&bank[j].accountNo,&bank[j].accountName,&bank[j].Password,&bank[j].Balance,&bank[j].VIPoNormal)==5)? ?? ?{ ? ? ? ? j++; ? ? } ? ? n=j; ? ? int i=0,item=0,flag=0; ? ? char s1[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸賬號(hào)的? ? ? char s2[LEN+1]; /* 以賬號(hào)和密碼最長(zhǎng)長(zhǎng)度+1為準(zhǔn)*/ ?//用來輸密碼的? ? ? printf("請(qǐng)輸入賬號(hào)\n"); ? ? scanf("%s",&s1); ? ? for(i=0; i<n; i++) ? ? ? ? ? ? ? ? ?//n代表當(dāng)前記錄數(shù) ? ? { ? ? ?? ?if(strcmp(s1,bank[i].accountNo)==0)? ? ? ?? ?{ ?? ??? ??? ?flag=1; ?? ??? ??? ?item=i; ?? ??? ?}? ?? ?}? ? ? if(0==flag)? ? ? ? ? printf("該賬號(hào)不存在!\n"); ? ? else{ ? ? ?? ?int flag1=0;//判斷密碼輸入是否正確? ? ? ?? ?printf("請(qǐng)輸入賬號(hào)對(duì)應(yīng)的密碼\n"); ? ? ?? ?scanf("%s",&s2); ? ? ?? ?if(strcmp(s2,bank[item].Password)==0) ?? ??? ?{ ?? ??? ??? ?flag1=1; ?? ??? ?}? ?? ? ? ?if(flag1==0){ ?? ? ? ??? ?printf("密碼輸入錯(cuò)誤\n");//這塊可以改,重新輸入,初步打算while循環(huán)? ?? ? ? ??? ?return;? ?? ??? ?}else{ ?? ??? ??? ?printf("密碼輸入正確\n"); ?? ??? ??? ?printf("您余額為:%10.1f\n",bank[item].Balance); ?? ??? ??? ?printf("您的賬戶類型是%s\n",bank[item].VIPoNormal); ?? ??? ??? ?printf("請(qǐng)輸入需要轉(zhuǎn)賬的賬戶"); ?? ??? ??? ?int flag2=0;? ?? ??? ??? ?char s3[LEN+1]; ?? ??? ??? ?int item2=0;//標(biāo)記目的賬戶? ?? ??? ??? ?scanf("%s",&s3); ?? ??? ??? ?for(i=0; i<n; i++) ? ? ? ? ? ? ? ?? ?? ??? ? ? ?{ ?? ??? ? ? ??? ?if(strcmp(s3,bank[i].accountNo)==0)? ?? ??? ? ? ??? ?{ ?? ??? ??? ??? ??? ?flag2=1; ?? ??? ??? ??? ??? ?item2=i; ?? ??? ??? ??? ?}? ?? ??? ??? ?} ?? ??? ??? ?while(flag2==0){ ?? ??? ??? ??? ?printf("賬戶輸入有誤請(qǐng)重新輸入"); ?? ??? ??? ??? ?scanf("%s",&s3); ?? ??? ??? ??? ?for(i=0; i<n; i++) ? ? ? ? ? ? ? ?? ?? ??? ??? ? ? ?{ ?? ??? ??? ? ? ??? ?if(strcmp(s3,bank[i].accountNo)==0)? ?? ??? ??? ? ? ??? ?{ ?? ??? ??? ??? ??? ??? ?flag2=1; ?? ??? ??? ??? ??? ??? ?item2=i; ?? ??? ??? ??? ??? ??? ?printf("accountNo ? ?accountName ?Password ? Balance ?VIPoNormal ?\n"); ?? ??? ??? ? ? ??? ??? ?printf("--------------------------------------------------------------------\n"); ?? ??? ??? ? ? ??? ??? ?printf("%s %16s %10s %10.1f ?%s\n",bank[i].accountNo,bank[i].accountName,bank[i].Password,bank[i].Balance,bank[i].VIPoNormal); ?? ??? ??? ??? ??? ?}? ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ? ?? ??? ??? ?printf("*****注意事項(xiàng):*****\n"); ?? ??? ??? ?printf("轉(zhuǎn)賬金額不能超過限額\n"); ?? ??? ??? ?printf("V類型用戶單次轉(zhuǎn)賬不得超過20000元\n"); ?? ??? ??? ?printf("N類型用戶單次轉(zhuǎn)賬不得超過10000元\n"); ?? ??? ??? ?printf("請(qǐng)輸入需要轉(zhuǎn)賬的金額\n"); ?? ??? ??? ?float jud=0.0; ?? ??? ??? ?if(strcmp(bank[item].VIPoNormal,"V")==0)? ?? ??? ??? ?{ ?? ??? ??? ??? ?jud=20000; ?? ??? ??? ?} ?? ??? ??? ?else jud=10000; ?? ??? ??? ?float money; ?? ??? ??? ?scanf("%f",&money); ?? ??? ??? ?while(money>jud || money>bank[item].Balance) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("輸入不符合規(guī)范,請(qǐng)按照注意事項(xiàng)進(jìn)行輸入"); ?? ??? ??? ??? ?scanf("%f",&money); ?? ??? ??? ?} ?? ??? ??? ?if(strcmp(bank[item].VIPoNormal,"V")==0)? ?? ??? ??? ?{ ?? ??? ??? ??? ?bank[item].Balance-=money*0.005;? ?? ??? ??? ?}else{ ?? ??? ??? ??? ?bank[item].Balance-=money*0.01;? ?? ??? ??? ?} ?? ??? ??? ?bank[item].Balance-=money; ?? ??? ??? ?bank[item2].Balance+=money;? ?? ??? ??? ?fileWrite(); ?? ??? ??? ?printf("轉(zhuǎn)賬成功\n"); ?? ??? ?} ? ? ?? ? ?? ?} ?? ? ?? ?return; }? //插入學(xué)生信息函數(shù) void insert()? { ? ? int i; ? ? printf("請(qǐng)輸入待增加的賬戶數(shù):"); ? ? scanf("%d",&n); ? ? FILE * fp; ? ? if((fp=fopen("account.txt","at"))==NULL)? ?? ??? ?printf("文件為空!\n"); ? ? for(i=0; i<n; i++)? ?? ?{ ? ? ? ? printf("\n請(qǐng)輸入第%d個(gè)賬戶的賬號(hào):",i+1); ? ? ? ? scanf("\n%s",&bank[i].accountNo); ? ? ? ? printf("\n請(qǐng)輸入第%d個(gè)賬戶的姓名:",i+1); ? ? ? ? scanf("%s",&bank[i].accountName); ? ? ? ? printf("\n請(qǐng)輸入第%d個(gè)賬戶的密碼:",i+1); ? ? ? ? scanf("%s",&bank[i].Password); ? ? ? ? printf("\n請(qǐng)輸入第%d個(gè)賬戶的余額:",i+1); ? ? ? ? scanf("%f",&bank[i].Balance); ? ? ? ? printf("\n請(qǐng)輸入第%d個(gè)賬戶的類別:",i+1); ? ? ? ? scanf("%s",&bank[i].VIPoNormal); //?? ??? ?sort(); ? //調(diào)用按學(xué)號(hào)排序函數(shù) ? ? ? ? //寫入文件 ? ? ? ? fprintf(fp,"%s %16s %10s %10.1f ?%s\n",&bank[i].accountNo,&bank[i].accountName,&bank[i].Password,&bank[i].Balance,&bank[i].VIPoNormal); ? ? } ? ? printf("\n添加成功!!!\n"); ? ? fclose(fp); } //顯示當(dāng)前信息 void display()? { ? ? int i=0; ? ? FILE * fp; ? ? if((fp=fopen("account.txt","r"))==NULL) ?? ??? ?printf("文件為空!\n"); ? ? while(fscanf(fp,"%s %s %s %f %s\n",&bank[i].accountNo,&bank[i].accountName,&bank[i].Password,&bank[i].Balance,&bank[i].VIPoNormal)==5)? ?? ?{ ? ? ? ? i++; ? ? } ? ? n=i; ? ? ? ? ? ? ? //記錄文件中數(shù)據(jù)的行數(shù) ? ? printf("accountNo ? ?accountName ?Password ? Balance ?VIPoNormal ?\n"); ? ? printf("--------------------------------------------------------------------\n"); ? ? for(i=0;i<n;i++) ? ?//依次輸出學(xué)生信息 ?? ?{ ? ? ? ? printf("%s %16s %10s %10.1f ?%s\n",bank[i].accountNo,bank[i].accountName,bank[i].Password,bank[i].Balance,bank[i].VIPoNormal); ? ? } ?? ? fclose(fp); } //保存當(dāng)前賬戶信息 void fileWrite() { ? ? ? ? FILE *fp; ? ? ? ? int i; ? ? ? ? if((fp=fopen("account.txt","w"))==NULL)? ?? ??? ??? ?printf("文件為空!\n"); ? ? ? ? for(i=0; i<n; i++)? ?? ??? ?{ ? ? ? ? ? ? fprintf(fp,"%s %16s %10s %10.1f ?%s\n",bank[i].accountNo,bank[i].accountName,bank[i].Password,bank[i].Balance,bank[i].VIPoNormal); ? ? ? ? } ? ? ? ? fclose(fp); ? ? ? ? printf("保存成功!!!"); }? //界面 void menu()? { ? ? int num; ? ? printf(" \n\n ? ? ? ? ? ? ? ? ? ?\n\n"); ? ? printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); ? ? printf(" * ? ? ? ? ? ? ? ? ? 銀行管理系統(tǒng) ? ? ? ? ? ? ? ? ? ?*\n"); ? ? printf(" * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *\n"); ? ? printf(" * ? ? ? * * * * * * *系統(tǒng)功能菜單* * * * * * * ? ? ? ? ?*\n"); ? ? printf(" * ? ?-------------------------------------------- ? ? ? *\n"); ? ? printf(" * ? ?1. 查詢賬戶信息 ? *\n"); ? ? printf(" * ? ?2. 存錢 ? ? ? ? ? *\n"); ? ? printf(" * ? ?3. 取款 ? ? ? ? ? *\n"); ? ? printf(" * ? ?4. 轉(zhuǎn)賬 ? ? ? ? ? *\n"); ? ? printf(" * ? ?5. 退出系統(tǒng) ? ? ? *\n"); ? ? printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); ? ? printf("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n"); ? ? printf("請(qǐng)選擇菜單編號(hào):"); ? ? scanf("%d",&num); ? ? switch(num) { ? ? ? ? case 0: // ? ? ? ? ? ?help(); ? ? ? ? ? ? break; ? ? ? ? case 1: ? ? ? ? ?? ?seek(); ? ? ? ? ? ? break; ? ? ? ? case 2: ? ? ? ? ?? ?Save(); ? ? ? ? ? ? break; ? ? ? ? case 3: ?? ??? ? ? ?Withdraw(); ? ? ? ? ? ? break; ? ? ? ? case 4: ? ? ? ? ?? ?Transfer(); ? ? ? ? ? ? break; ? ? ? ? case 5: ? ? ? ? ? ?k=0; ? ? ? ? ? ? break; ? ? ? ? default: ? ? ? ? ? ? printf("請(qǐng)?jiān)?-8之間選擇\n"); ? ? } } //主函數(shù) ? ? int main()? { ? ? while(k)? ?? ?{ ? ? ? ? menu(); ? ? } ? ? system("pause"); ? ? return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言深入講解棧與堆和靜態(tài)存儲(chǔ)區(qū)的使用
對(duì)大多數(shù)C 語(yǔ)言初學(xué)者來說,堆棧卻是一個(gè)很模糊的概念。堆棧是一種數(shù)據(jù)結(jié)構(gòu),一個(gè)在程序運(yùn)行時(shí)用于存放的地方,相信這可能是很多初學(xué)者共同的認(rèn)識(shí),靜態(tài)存儲(chǔ)區(qū)即內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在2022-04-04C語(yǔ)言的動(dòng)態(tài)內(nèi)存管理的深入了解
這篇文章主要為大家詳細(xì)介紹了語(yǔ)言C的動(dòng)態(tài)內(nèi)存管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02C語(yǔ)言實(shí)現(xiàn)二叉鏈表存儲(chǔ)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)二叉鏈表存儲(chǔ)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08VSCode斷點(diǎn)調(diào)試CMake工程項(xiàng)目的實(shí)現(xiàn)步驟
這篇文章主要介紹了VSCode斷點(diǎn)調(diào)試CMake工程項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)版通訊錄的代碼分享
這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的動(dòng)態(tài)版通訊錄,主要運(yùn)用了結(jié)構(gòu)體,一維數(shù)組,函數(shù),分支與循環(huán)語(yǔ)句等等知識(shí),需要的可以參考一下2023-01-01C++實(shí)現(xiàn)LeetCode(117.每個(gè)節(jié)點(diǎn)的右向指針之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(117.每個(gè)節(jié)點(diǎn)的右向指針之二),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++ 讀寫文件安全又簡(jiǎn)潔的簡(jiǎn)單實(shí)例
這篇文章主要介紹了C++ 讀寫文件安全又簡(jiǎn)潔的簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06