C言語によるテキストファイルからデータの読み込みについて
Posted: 2015年11月07日(土) 16:36
こんにちは。
C言語初心者で、現在学習中のほげおと申します。
テキストファイルから座標データを読み込み、特定の行のみ出力するプログラムを作製しているのですが、うまくいきません。
テキストデータの例
1.000 2.055 i
2.000 3.050 i
1.500 0.000 n
4.000 3.000 i
(以下略)
というx,y座標のテキストデータがあり、行末にiかnが書いてあります。
このファイルから、行末にiのある行のみを出力したいのですが、うまくいきません。
#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp;
char *filename = "coord.txt";
double f,g;
char h,str;
int ret;
fp = fopen(filename,"r");
if(fp == NULL)
{
printf("Couldn't open\n");
return -1;
}
while(fscanf(fp,"%lf %lf %c\n",&f,&g,&h) != EOF)
{
/*ret = strcmp(h,judge);
if(ret == 0)
{
printf("%lf %lf %c\n",f,g,h);
}
*/
printf("%lf %lf %c\n",f,g,h);
}
fclose(fp);
return 0;
}
このようなプログラムを作製したのですが、実行しても何も出力されません。
どこが間違っていて、どうすれば良いのか教えて頂けると助かります。
よろしくお願いします。
C言語初心者で、現在学習中のほげおと申します。
テキストファイルから座標データを読み込み、特定の行のみ出力するプログラムを作製しているのですが、うまくいきません。
テキストデータの例
1.000 2.055 i
2.000 3.050 i
1.500 0.000 n
4.000 3.000 i
(以下略)
というx,y座標のテキストデータがあり、行末にiかnが書いてあります。
このファイルから、行末にiのある行のみを出力したいのですが、うまくいきません。
#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp;
char *filename = "coord.txt";
double f,g;
char h,str;
int ret;
fp = fopen(filename,"r");
if(fp == NULL)
{
printf("Couldn't open\n");
return -1;
}
while(fscanf(fp,"%lf %lf %c\n",&f,&g,&h) != EOF)
{
/*ret = strcmp(h,judge);
if(ret == 0)
{
printf("%lf %lf %c\n",f,g,h);
}
*/
printf("%lf %lf %c\n",f,g,h);
}
fclose(fp);
return 0;
}
このようなプログラムを作製したのですが、実行しても何も出力されません。
どこが間違っていて、どうすれば良いのか教えて頂けると助かります。
よろしくお願いします。