if文で…
いつもお世話になっております。
------------------------
typedef struct douken_ {
char tiku[11];
char ken[9];
} douken;
int main(void){
FILE *fp;
douken dou [100];
char buff [18 /* douken */ + 2 /* CrLf(\n\r) */ + 1 /* \0 */];
int i;
i = 0;
fp = fopen("ex3.fil","rb");
if ( fp == 0 ){
printf("can't open\n");
exit(1);
}
memset (dou , '\0' , sizeof dou);
memset (buff, '\0' , sizeof buff);
問題はここから-----------------
while (fgets(buff,sizeof buff,fp) != NULL){
memcpy(&dou[i].tiku ,buff,10);
memcpy(&dou[i].ken ,buff+10,10);
if (&dou[i].tiku == &dou[i-1].tiku){
printf("%s %s",&dou[i-1].tiku,&dou[i].tiku,&dou[i].ken);}
else{
printf("-----------------------");
}
------------------------
上記のプログラムでは
ファイルから読み込んだデータを
構造体に格納して
if文で現データと全データを
比較するという処理をしています。(つもり)
構造体に格納するところまでは
出来たのですが
if文のところが上手く行きません。
例えば
現データ(tiku)関東地区
前データ(tiku)関東地区
と、同じ場合は
関東地区 東京
と、表示したいのに
-----------
と、elseの処理をしてしまいます。
対処方法をご存じでしたら、
ご教授して頂けたら幸いです。