C 如何更改字符数组中的特定字符串?

C 如何更改字符数组中的特定字符串?,c,ubuntu,C,Ubuntu,这是我的第一个问题,所以看起来可能有点难看 问题:我必须能够阅读和替换姓名 我的解决方案: *char NamesArray[] {"name1", "name2"}; 这样我就可以输入名字并通过指针读取它们。 虽然阅读全名需要我现在做一个循环。 这确实带来了另一个问题,即在程序运行时无法更改名称 如何更改姓名,以及在一个或多个姓名更改后如何打印新的姓名列表 数组中不一定要有名称 如果可以使用不同的数组或/和库,也可以 名称输入是通过终端给出的,但这

这是我的第一个问题,所以看起来可能有点难看

问题:我必须能够阅读和替换姓名

我的解决方案:

*char NamesArray[] {"name1", "name2"};
这样我就可以输入名字并通过指针读取它们。 虽然阅读全名需要我现在做一个循环。 这确实带来了另一个问题,即在程序运行时无法更改名称

如何更改姓名,以及在一个或多个姓名更改后如何打印新的姓名列表

  • 数组中不一定要有名称
  • 如果可以使用不同的数组或/和库,也可以
名称输入是通过终端给出的,但这可能并不奇怪


提前谢谢你

你的代码甚至无法编译;你能提供更多的背景吗?这个问题不清楚。代码段也不是有效的代码。请发布一些代码(aka),并解释您想要添加到其中的内容或哪些内容不起作用。请记住,不允许修改文本字符串。实际上,它们是只读的。这就是为什么建议使用
const char*
作为字符串文本的指针(以帮助编译器捕获这些问题,而不是在运行时发生的问题)。在字符串文本的指针数组中,您必须更改指针值,以指向另一个字符串。因此,我的理解是,我应该创建一个新字符串,并将名称指向新字符串,而不是编辑旧字符串(因为无论如何都不可能!)。