ファイルの入出力
Posted: 2012年4月05日(木) 13:52
fgetcを使って文字を得て、strcmpを使って他の文字と比較しようとしたのですが
引数が違ったためできませんでした。文字同士を比較するのはどうやるのですか?
引数が違ったためできませんでした。文字同士を比較するのはどうやるのですか?
作っている問題のあるプログラムコードを提示して下さいね。まっさん さんが書きました:やっぱりできません。fgetcの戻り値であるint型とchar型をどうやって比較するのですか?
#include<string.h>
#include<stdio.h>
int main()
{
int num = 0, word;
char *formula = "3x^2+4x-2+6y+1";
FILE *fp;
//ファイルを書き込みオープン
fp = fopen( "brain.txt", "wt" );
//数式の書き込み
fprintf( fp, "%s\n", formula );
fclose( fp );
//ファイルを読み込みオープン
fp = fopen( "brain.txt", "rt" );
while( ( word = fgetc( fp ) ) != EOF ) {
printf( "%c", word ); //wordはポインタでは無いのでchar*にキャストしてはいけません。ただの値です。
}
fclose( fp );
return 0;
}
#include<string.h>
#include<stdio.h>
int main()
{
int num = 0, word;
char *formula = "3x^2+4x-2+6y+1";
FILE *fp;
//ファイルを書き込みオープン
fp = fopen( "brain.txt", "a+" );
//数式の書き込み
fprintf( fp, "%s\n", formula );
fseek(fp,0,SEEK_SET); //ファイル先頭をポイント
while( ( word = fgetc( fp ) ) != EOF ) {
printf( "%c", word ); //wordはポインタでは無いのでchar*にキャストしてはいけません。ただの値です。
}
fclose( fp );
return 0;
}
えーと比較の話は何処にいったのでしょうか?まっさん さんが書きました:できました!!!ありがとうございました
#include<string.h>
#include<stdio.h>
int main()
{
int num = 0, word;
char *formula = "3x^2+4x-2+6y+1";
FILE *fp;
//ファイルを書き込みオープン
fp = fopen( "brain.txt", "w+" );
//数式の書き込み
fprintf( fp, "%s\n", formula );
fseek(fp,0,SEEK_SET);
while( ( word = fgetc( fp ) ) != EOF ) {
if("+"==word)num++;
}
fclose( fp );
printf( "%d",num);
return 0;
}