更新字符串的单个字符

用户名

如何更新char声明为的字符串中的单个char*

我已经试过了:

int main(void)
{
    char* s = "hello";
    s[0] = 'y';
    printf("%s\n", s);
    return 0;
}

使用以下参数,可以使用GCC 4.8.1(MinGW)进行编译,而不会发出警告或错误:

gcc -Wall -Wextra -Werror -o str.exe str.c

但是,当我运行该应用程序时,它仅显示空白行吗?

苏拉夫·戈什(Sourav Ghosh)

您正在做的是尝试修改字符串文字的尝试。这会导致未定义的行为

从标准C11第6.4.5章“字符串文字”中相关

[..]如果程序尝试修改这样的数组,则行为未定义。

char如果要修改内容,则需要使用的数组沿线的东西

char s[] = "hello";

否则,如果您想拥有该char *s表格,则必须

  1. 分配内存给 s
  2. 使用strcpy()的内容复制到s

然后,您可以修改s,因为所返回的内存位置malloc()将是可写的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用字符串中的新字符替换多个单个字符的所有实例

来自分类Dev

SQL语句更新字符串中的三个字符

来自分类Dev

将文件中特定位置的单个字符串替换为多个新字符串

来自分类Dev

从Fortran字符串中提取单个字符

来自分类Dev

从Fortran字符串中提取单个字符

来自分类Dev

无法在字符串中获取单个字符

来自分类Dev

使用空字符串分割单个字符

来自分类Dev

如何创建单个字符的字符串

来自分类Dev

替换字符串中的单个字符

来自分类Dev

如何搜索单个字符的字符串?

来自分类Dev

将字符串的单个字符插入数组

来自分类Dev

python连接字符串中的单个字符

来自分类Dev

Oracle-更新字符串以仅替换最后一个字符

来自分类Dev

连接3个字符串并返回指向新字符串C的指针

来自分类Dev

如何用新字符替换字符串中的第 n 个字符?

来自分类Dev

熊猫:无法通过单个字符串更新空数据框

来自分类Dev

将数组简化为单个字符串

来自分类Dev

将列表转换为单个字符串

来自分类Dev

Android Asynctask传递单个字符串

来自分类Dev

反击单个字符串的字母。Java脚本

来自分类Dev

javascript替换单个字符串

来自分类Dev

Android Asynctask传递单个字符串

来自分类Dev

以单个字符串返回sql结果

来自分类Dev

从单个字符串获取JSONS

来自分类Dev

数据绑定单个字符串

来自分类Dev

将Integer ArrayList放入单个字符串

来自分类Dev

如何从edittext中获取单个字符串?

来自分类Dev

CSV文件作为单个字符串返回

来自分类Dev

WebAPI路由:单个字符串参数