gpt4 book ai didi

c - 如何使用 char* 作为 char[]

转载 作者:行者123 更新时间:2023-12-04 11:29:16 25 4
gpt4 key购买 nike

我有一个这样的结构

typedef struct bookStruct
{
char title[80];
char author[80];
} BookType;

我有两个这样的字符串

char *title = "A Book on C";
char *author = "A. Kelly";

现在我不能像这样创建一个BookType

BookType book = {title, author};

谁能告诉我哪里出了问题?我该怎么做?

最佳答案

您的问题有两种可能的解决方案。第一个是在构造位置使用字符串文字:

BookType book = { "A book on C", "A. Kelly" };

在这种情况下,编译器会将文字复制到适当的变量中。如果你不能在初始化中使用文字,那么你必须自己复制元素:

BookType book = { 0 }; // 0 initalize
strncpy( book.title, title, sizeof(book.title)-1 );
strncpy( book.author, author, sizeof(book.author)-1 );

关于c - 如何使用 char* 作为 char[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2658182/

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