2 種類の入力を持つことができる C でプログラムを開発する必要があります。
- 文字列を入力することにより (このファイル名 < String1234455678 のように想定しています。間違っている場合は修正してください)。
- 一部のファイルからデータを読み取る。
その中にある文字に関していくつかのチェックを行い、それらを配列に格納する必要があります。getc()
しかし、最初に標準入力からの使用方法を学びたいです。
私の最初の質問は、getc()
両方の場合に使用できますか?
フィード行/ファイル内のすべての文字をループしたかったので、コードは次のようになると思います。
char Array1[];
char charHolder;
//If the file/feed has chars (!NULL), execute
if ((charHolder = getchar())!=NULL){
//Do something
//Do some more
//Finally append to Array1
Array1[] = charHolder;
}
上記のコードには問題がある可能性があります。その種の挿入がCで有効かどうかを知りたかったのです(インデックスが指定されていないため、配列の最後に値がプッシュされるだけです)。また、 http://beej.us/guide/bgc/output/html/multipage/getc.htmlから読んで、まったくgetc(stdin)
同等getchar()
です。これが実際に正しいことを再確認したいだけで、どちらの関数も、データを読み取らなければならない(ファイルから、プログラムに文字列を供給する)必要がある両方のケースで機能します。
また、複数のファイルから文字を読み取る方法を知りたいと思っていました。私のプログラムが programName file1 file2 として実行されるとします。
お時間をいただき、ありがとうございました。
乾杯!
編集1:
また、ファイル/文字列フィードから文字がいつ終了するかを確認する方法も知りたいと思っていました。どちらの場合も EOF を使用する必要がありますか?
例:
while ((charHolder = getchar()) != EOF){
//code
}