close







C語言的小問題(作業要求)




立即點擊


#include#includeintt=0;intmain(void){FILE*file1;file1=fopen("test.txt","a");t++;fprintf(file1,"%d",t);fclose(file1);return...顯示更多#include#includeintt=0;intmain(void){FILE*file1;file1=fopen("test.txt","a");t++;fprintf(file1,"%d",t);fclose(file1);return0}我還是個新手(剛學),請多多包涵~~這個作業要求每次"執行"會印東西到test.txt而要印出12345678....(以此類推),意思就是說:t的值不會因為"重新執行"而改變問學長後,可將變數設在外面,我也改了,可是我每次"執行",test.txt裏頭還是印出11111.....想請問C語言高手,我該如何改我的程式碼TT(拜託了~~)





每一個東西都有生命週期,函式, 變數, 程序, 檔案, 硬碟, 電腦, 手速, 人生, 萬物... 抱歉扯遠了. 我們看到 t 他活在 main之中, 從出生int t =0; 直到死亡 main讓他陪葬了..orz... test.txt 雖然活在硬碟, 可是text.txt的人生經常被fopen穿越了 重置了 很無奈 因為每次都被fclose給蓋棺論定. 如果可以我們希望main擁有永生,這樣t就能陪伴永生,並且胡亂穿越text.txt的人生 void The_Life_Of_text(int missionary_of_t); int main(void) { int t =0; do { The_Life_Of_text(t++); }while(t); return 0; } void The_Life_Of_text(int missionary_of_t) { FILE *file = fopen("text.txt","a"); fprintf(file,"%d",missionary_of_t); fclose(file); } 可惜main是一般人,還是個複製人,他的生命來自電腦,電腦可不允許他這麼胡鬧,隨便就能提取main那可憐兮兮的生命,就連main居住大小地方都是電腦說了算,甚至工作時間也被規定的死死的。 main為了幫助t能繼續完成它那看似有趣的使命,只好向硬碟求救,main知道,text.txt生活在硬碟裡,硬碟的話份量在text.txt眼中跟聖旨差不多,跟硬碟打聲招呼讓他幫忙應該就能避免了吧.... 硬碟說:那好,你把missionary放在tmp,應該就能解決了。 int The_Key_Of_tmp(void); void Save_Key_Of_tmp(int missionary_of_t); void The_Life_Of_text(int missionary_of_t); int main(void) { int t =The_Key_Of_tmp(); The_Life_Of_text(t++); Save_Key_Of_tmp(t); return 0; } int The_Key_Of_tmp(void) { int missionary_of_t=0; FILE *file = fopen("tmp","r"); fscanf(file, "%d",&missionary_of_t); fclose(file); return missionary_of_t; } void Save_Key_Of_tmp(int missionary_of_t) { FILE *file = fopen("tmp","w"); fprintf(file,"%d",missionary_of_t); fclose(file); } 其實也可以跟城管大人找個放missionary的,只是不同城管管理方式不同,會有點麻煩。





(ATKUE2AEOORUFO)大大說的沒錯只要每次開啟test.txt判斷文件最後一個數字是什麼再將新的數值補在最後即可.不管你的變數放在哪,都是在記憶體裡;而記憶體內的資料會在程式結束後被捨棄。因此你的程式每次執行都會重新來過一次。你要把變數存到檔案裡,他才會被保存,下次啟動程式的時候再從檔案讀出來就可以了。但是你不需要另外寫一個檔案,因為你的輸出檔已經有這些資訊了!開啟test.txt,讀取最後一次寫入的數值,然後把新數值寫在後面,完工。


以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20150520000016KK02288

C902071D09AF7660
arrow
arrow

    「最美麗主持人」 發表在 痞客邦 留言(0) 人氣()