我在处理 C 中的指针时遇到了一些麻烦。
我的代码从文本文件中加载了一大串字符
1378251369.691375 84:1b:5e:a8:bf:7f 68:94:23:4b:e8:35 100
1378251374.195670 00:8e:f2:c0:13:cc 00:11:d9:20:aa:4e 397
1378251374.205047 00:8e:f2:c0:13:cc 00:11:d9:20:aa:4e 397
1378251374.551604 00:8e:f2:c0:13:cc 00:11:d9:20:aa:4e 157
1378251375.551618 84:1b:5e:a8:bf:7c cc:3a:61:df:4b:61 37
然后将每一行复制到一个数组中(fullinfo[200][BUFSIZ])。
然后我试图评估最后两条信息并将它们放入自己的数组中,例如
cut2line[0] = 68:94:23:4b:e8:35 100
cut2line[1] = 00:11:d9:20:aa:4e 397
为此,我尝试了 strcpy 和 memcpy
fullinfo[200][BUFSIZ];
char cutline[BUFSIZ];
char cut2line[BUFSIZ];
while( fgets(line, sizeof line, pi) != NULL) {
strcpy(fullinfo[infoline], line);
strcpy(cutline,fullinfo[infoline]);
memcpy(cut2line,*cutline[25],100);
printf("%s",cutline);
infoline ++;
}
两者都给
invalid type of argument of unary '*' (have 'int')
或涉及错误指针类型的东西。
任何帮助表示赞赏。
编辑澄清:cutline 包含来自输入文件的整行是正确的,但是当我尝试将行的第二部分复制到它自己的数组中时,我得到了错误