gpt4 book ai didi

c - 如何编辑字符串(在 C 结构中)

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:30 25 4
gpt4 key购买 nike

我正在用 C 语言模拟继承,但我对这门语言不是很熟悉。下面是一些代码。 Visual Studio 有一条针对 emp.name=n 的错误消息,内容为:

expression must be a modifiable lvalue.

如何更改它以便对其进行修改?

typedef struct {    
char name[20];
double salary;
} Employee;

Employee newEmployee(char n[], double s)
{
Employee emp;
emp.name=n;
emp.salary=s;
return emp;
}

最佳答案

您需要将数据从n复制到Employee.name:

strncpy(emp.name, n, 20);

但是,如果 n 不是 NULL 终止的,您就会遇到问题。使用以下代码保证 emp.name 将是一个以 NULL 结尾的字符串:

strncpy(emp.name, n, 19);
emp.name[19] = '\0';

关于c - 如何编辑字符串(在 C 结构中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543776/

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