gpt4 book ai didi

将字符串从 main 复制到结构 c

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

我有一些字符串存储在名为“info”的二维数组中,并希望将它们复制到“notes”结构中的数组“reply”中。我尝试使用下面的 for 循环来执行此操作,但它不复制。我没有收到错误,它只是不复制字符串。我不知道还能做什么,有人可以给我一些关于我需要使用什么的建议吗?

struct notes{
char tasks[40][250];
char reply[40][250];
};

struct notes store;

#define M 11

int main()
{

int a, i, k, l, j;
char info[40][250];


for( i = 0 ; i < M ; i++){
strncpy(store.reply[i], info[i], 250);
}


}

最佳答案

您的问题以“我在名为“info”的二维数组中存储了一些字符串”开头,但我们实际上并没有看到这种情况发生。

如果您使用一些字符串初始化了 info,我认为您的代码没有任何问题。

尽量避免使用“魔法”数字;使用#define 来代替。

#include <stdint.h>
#define NUM 2 //number of strings
#define LEN 25 //length of each string

struct notes{
char tasks[NUM][LEN];
char reply[NUM][LEN];
};

struct notes store;
char info[NUM][LEN];

int main()
{
/* Assign strings to info */
char *mystring1 = "Hello world";
strncpy(info[0], mystring1, LEN);
char *mystring2 = "I love pie";
strncpy(info[1], mystring2, LEN);

/* Copy them to store.reply */
for(uint8_t i=0; i<NUM; i++){
strncpy(store.reply[i], info[i], LEN);
}

/* Print results */
for(uint8_t i=0; i<NUM; i++){
printf("%s\n", store.reply[i]);
}
}

输出:

Hello world
I love pie

关于将字符串从 main 复制到结构 c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076091/

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