Flexを使用して、テキストファイルの単語が動詞であることを確認する簡単なプログラムを作成しました。しかし、出力を別のテキストファイルに保存(印刷)したいです。
可能ですか?どうすればいいですか?
私のサンプルコードは次のとおりです。
%%
[\t]+
is |
am |
are |
was |
were {printf("%s: is a verb",yytext);}
[a-zA-Z]+ {printf("%s: is a verb",yytext);}
. |\n
%%
int main(int argc, char *argv[]){
yyin = fopen(argv[1], "r");
yylex();
fclose(yyin);
}
ベストアンサー1
lex
私は/について十分にわかりませんが、flex
質問で見たコードに基づいて次のコードを追加してみましたmain()
。
FILE * myfd = fopen(argv[2], "w");
fprintf()
代わりに、次のように使用してくださいprintf()
。
{ fprintf(myfd, "%s: is a verb", yytext); }
私はargv[2]
ファイル名のソースを使用しています。つまり、プログラム呼び出しで2番目のパラメータとしてこれを指定する必要がありますが、ファイル名を含む文字列をハードコードすることもできます。