2014-10-29 49 views
-2

這是我的圖案的txt:Ç - 負載TXT含量爲兩個三維陣列

########## 
#1  # # 
# # # 
#  # # 
#  # 
#  # 
# #2 ## 
#  # 
# # # 
########## 

我想負載這個逐行一個二維數組內,如炭板[10] [10];

這是我的loadFile代碼:

FILE *fp; 
fp = fopen(file_name,"r"); 
do{ 
    for(int a=0;a<10;a++){ 
     for(int b=0;b<10;b++){ 
      fscanf(fp,"%c",&board[a][b]); 
     } 
    } 
}while(!feof(fp)); 
// test print for showing into console 
for(int c=0;c<10;c++){ 
    for(int d=0;d<10;d++){ 
     printf("%s",board[c][d]); 
    } 
    printf("\n"); 
} 
fclose(fp); 
+0

你有什麼嗜好?我的意思是你有讀/寫這個信息到數組的任何順序嗎?如果不是,我會建議預先分配一個大的二維數組(除非你確切知道需要讀取多少個字符),做一個嵌套for循環,併爲每個字符做fgetc()並將它們存儲到你的數組[i] [j ]。 – ha9u63ar 2014-10-29 14:10:06

+0

@SouravGhosh :) – ha9u63ar 2014-10-29 14:13:12

+0

這些模式來自一個名爲「map.txt」的文件,我只是嘗試創建一個簡單的pac-man遊戲....我想將這個文件內容加載到數組中。 – user3658777 2014-10-29 14:14:05

回答

0
FILE *fp; 
fp = fopen(file_name,"r"); 
for(int a=0;a<10;a++){ 
    for(int b=0;b<10;b++){ 
     fscanf(fp,"%c", &board[a][b]); 
    } 
    fscanf(fp, "%*c");//for skip newline 
} 
fclose(fp); 
// test print 
for(int c=0;c<10;c++){ 
    for(int d=0;d<10;d++){ 
     printf("%c", board[c][d]); 
    } 
    printf("\n"); 
}