gpt4 book ai didi

c - 二维字符数组

转载 作者:行者123 更新时间:2023-11-30 18:01:37 25 4
gpt4 key购买 nike

最近在用C语言编写代码时,需要声明一个二维数组,如下所示:

char foo[20][20];

稍后我会将字符数组分配给 foo

之后我需要将这些字符串复制到其他一些变量中。

复制过程如下:

strcpy(date, foo[0]);
strcpy(name, foo[1]);
strcpy(des, foo[6]);
strcpy(cpy, foo[2]);

因为我在复制时没有维护顺序,如 foo[0]foo[1]foo[6]foo[2],我在 p3 中得到了一些垃圾以及原始字符串。
后来我将序列更正为 foo[0]foo[1]foo[2]foo[6] 在复制中,我得到了预期的结果。

请澄清这一点。

实际上指针p1、p2、p3和p4是结构体中的变量。结构如下:

struct sample
{
char date[9];
char name[8];
char des[8];
char cpy[9];
};

最佳答案

选项一是您没有将结构体或数组初始化为 0,首先检查您是否在两者上正确调用了 memset(),然后使用 sizeof() 来确保。

选项二是超出结构成员大小,您可能需要再次使用 strncpy() 和 sizeof()。

关于c - 二维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9678935/

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