我有一個非常奇怪的問題,在C中的fgets()。下面是我正在使用的代碼。C fgets() - 只有文件的最後一行寫入數組?
FILE* conf_file;
char array[20];
conf_file=fopen("configuration","r");
if (!conf_file) printf("There is not conf file");
while(!feof(conf_file)){
// if(feof(conf_file)) break;
fgets(array,20,conf_file);
//printf("%s",array);
if (!read_id_flag){
labris_id=atoi(array);
read_id_flag=1;
printf("%d\n",id);
continue;
}
protocol_array[protocol_index]=array;
// printf("%s %s",array,protocol_array[protocol_index]);
protocol_index++;
}
int i;
for(i=0;i<10;i++){
printf("%s",protocol_array[i]);
}
fclose(conf_file);
那麼,在同時範圍,如果我嘗試打印它完美的protocol_array
。但是,如果我試圖在while範圍之後打印數組,則只打印數組的最後一行,6次(6是文件中的行數)。
任何想法是讚賞。提前致謝。
請縮進你的代碼.. – 2012-03-05 09:29:32
char array [20]; protocol_array [protocol_index] = array;'這就是問題所在。 – 2012-03-05 09:30:26
我以爲我做到了。對不起。有些人爲我縮進。 ;) – mtndesign 2012-03-05 09:31:11