私はfile.txt
いくつかのint変数を含んでいます。数値の 3 番目のグループを int に変換する必要があるため、必要なarray
方法でデータを操作できます。
EX: file.txt
============
111111 1001 20120131 30
122222 2002 20110230 25
133333 3003 20100325 12
144444 1001 20110526 18
155555 1001 20100524 25
166666 2002 20120312 30
177777 2003 20120428 28
188888 3003 20111214 15
199999 3002 20101113 27
199999 1001 20101202 29
133333 1001 20120715 25
155555 1001 20100204 24
177777 3003 20110102 30
ファイルを 1 行ずつ読み取る必要があり、次のfscanf
関数を選択しました。
FILE *fp;
int n1, n2, n4;
char n3[9];
int array[9]
[...]
while (fscanf (fp, "%d %d %s %d", &n1, &n2, n3, &n4);
文字列を取得したので、それを int 配列に変換するにはどうすればよいですか? 私は試しました:
for (i = 0; i < strlen(n3); i++)
array[i] = atoi(strlen[i])
しかし、それはうまくいきません...どうすればこれを解決できますか?
それは私に戻ります:
warning: passing argument 1 of ‘atoi’ makes pointer from integer without a cast [enabled by default]
/usr/include/stdlib.h:148:12: note: expected ‘const char *’ but argument is of type ‘char’