看板 C_and_CPP 關於我們 聯絡資訊
請問要如何把二維陣列存入.txt檔內 開發平台:Microsoft Visual C++ 6.0 以下是我寫的程式片段: //印出陣列(結果正確) for(int i=0;i<121;i++){ for(int j=0;j<5;j++){ printf("%d,",pos_table[i][j]); } printf("\n"); } //將陣列資料寫入output.txt(結果錯誤) FILE *fptr; using namespace std; if(fptr!=NULL){ string pos_table[120][5]; fptr=fopen("C:\\Documents and Settings\\andy\\桌面\\output.txt","w"); printf("**************************************output.txt********************************"); for(i=0;i<120;i++){ for(int j=0;j<5;j++){ fprintf(fptr, "%d,",pos_table[i][j].c_str()); } fprintf(fptr,"\n"); } fclose(fptr); printf("\r\n檔案拷貝完成!!\r\n"); } else{ printf("\r\n開啟檔案失敗!!\r\n"); } 但結果在txt檔裡面全都是(4358200,4358200,4358200,4358200,4358200,)×120行, 不曉得是哪裡出了問題? 請各位高手幫忙解答一下,謝謝~ ※ 編輯: arno855268 來自: 123.192.109.141 (12/27 19:30)
a761007:為什麼你印在螢幕上的print變數跟要輸出到檔案的 不同? 12/27 19:38
a761007:拿掉.c_str()看看 12/27 19:38
arno855268:試過囉!拿掉.c_str() 12/27 19:48
arno855268:結果變成-858993460 12/27 19:49
arno855268:-858993460,-858993460,-858993460,-858993460,-858993 12/27 19:50
dendrobium:%d string ? 12/27 19:56
arno855268:我用%s,但是會跳出錯誤訊息: 12/27 20:05
arno855268:Unhandled exception in network.exe:0xC0000005: 12/27 20:06
arno855268:Accedd Violation 12/27 20:07
arno855268:如果我換成int pos_table[120][5]; 用%d,輸出結果還是: 12/27 20:14
arno855268:-858993460,-858993460,-858993460,-858993460,-858993 12/27 20:15
chchwy:%s是給char[]用的 string要加上c_str() 12/27 21:00
arno855268:不好意思,其實我在全域變數定義過: 12/27 21:07
arno855268:int pos_table[120][5]={-1}; 12/27 21:07
arno855268:所以不是string 12/27 21:08
ljhgc:請問一下原po 你的pos_table[120][5]型態究竟是要用哪一種? 12/27 23:43