我有一个file.txt
包含一些 int 变量。我需要将第三组数字转换为 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
我需要逐行读取文件,并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’