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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将字符串从main复制到结构c相关的知识,希望对你有一定的参考价值。

我有一些字符串存储在名为“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);
    }   


}
答案

你的问题开始于“我有2个数组中存储的字符串数量”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
", store.reply[i]);
    }
}

输出:

Hello world
I love pie

以上是关于将字符串从main复制到结构c的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从活动传输到片段? [复制]

c语言strcpy将一个结构体的数据复制到另一个后,出问题了

如何将字符串从文件复制到 C 中的链表?

如何将数据从一个活动传递到android中的另一个活动片段? [复制]

C - 当我尝试将结构从数组复制到结构中包含的数组时出现问题

将具有动态字符串的结构复制到缓冲区 c