調査しようとした問題がありますが、探している答えが実際には見つかりません。
Cでこの方法で複数行のテキストファイルを取り込もうとしています
./{base_name} < input.txt
input.txt が含まれています
54
37
100
123
1
54
私はそれを行うことで一種の作業をしています
scanf("%[^\t]",s);
しかし、私は各数値を取得したいので、atoi() を使用して C 文字列を整数配列に解析します。私はそれを行う方法についてかなり確信が持てません。
今、私のコードは次のようになります
int main(int argc, char *argv[]){
char str[1000];
scanf("%[^\t]",str);
printf("%s\n", str);
}
これを行うために argc と **argv を使用する方法、または入力を取得してその int 配列を作成する別のきちんとした方法はありますか。
私はコンパイルしています:
gcc -w --std=gnu99 -O3 -o {base_name} {file_name}.c -lm
最善の方法は、.txt ファイルとして取得し、fopen などを使用することですが、割り当てでは、入力を ./{base_name} < input.txt として取得する必要があります。
うまくいった答えがあります。それ以外には、このコードも非常にうまく機能しました。ただし、入力からの配列のサイズを定義するため、受け入れられた回答をお勧めします。どうもありがとうございました。
#include <stdio.h>
int main(){
char s[100];
int array[100];
while(scanf("%[^\t]",s)==1){
printf("%s",s);
}
return 0;
}