gpt4 book ai didi

将二维数组中的字符串复制到一维数组中

转载 作者:太空宇宙 更新时间:2023-11-04 04:48:09 24 4
gpt4 key购买 nike

我在处理 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 包含输入文件中的整行,这是正确的,但是当我尝试将行的第二部分复制到它自己的数组中时,我得到了错误

最佳答案

while( fgets(line, sizeof line, pi) != NULL)  {

strcpy(fullinfo[infoline], line);

strcpy(cutline,fullinfo[infoline]);
//memcpy(cut2line,*cutline[25],100); This line is what's causing your issue I think.
memcpy(cut2line,&cutline[25],100); //Use an &
printf("%s",cutline);
infoline ++;

}

关于将二维数组中的字符串复制到一维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18898066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com