C言語のプログラムでつまづいています。
Posted: 2013年7月18日(木) 14:13
はじめて利用させていただきます。
お知恵を借りたく、どうぞよろしくお願いします。
上記コードで、pic_nmに希望データが入っているのは確認できましたが、
task_pc[no] = pic_nm;
でtask_pc配列へ入力する際に、
入力する度に task_pc[]配列の全て task_pc[0]~[no]へ同じ pic_nm 内容が
上書き入力されてしまい、
結果、 task_pc[]の10データすべてに最後に取り込んだ pic_nm が入っている状況になっています。
いろいろと調べてしまいましたが、どうにもいかなく行き詰ってしまいました。
どうぞご教授くださいm(_ _)m
お知恵を借りたく、どうぞよろしくお願いします。
char pic_nm [7];
char *task_pc [10];
:
:
no = 0;
fSCE = fopen("test.log","r");
while ( fgets(buf,CLMN_SIZE,fSCE) != NULL ) {
wd = "Picture";
cmp = strstr(buf,wd);
if (cmp1 != NULL) {
if (buf[0] == 'P') {
sscanf(buf,"Picture %s %*s %*d %*d %*d %*d %*d %*d\n",pic_nm);
task_pc[no] = pic_nm;
no = no + 1;
}
}
}
fclose(fSCE);
上記コードで、pic_nmに希望データが入っているのは確認できましたが、
task_pc[no] = pic_nm;
でtask_pc配列へ入力する際に、
入力する度に task_pc[]配列の全て task_pc[0]~[no]へ同じ pic_nm 内容が
上書き入力されてしまい、
結果、 task_pc[]の10データすべてに最後に取り込んだ pic_nm が入っている状況になっています。
いろいろと調べてしまいましたが、どうにもいかなく行き詰ってしまいました。
どうぞご教授くださいm(_ _)m