c - 如何替换char *中的char

标签 c

这里是新手。 我试图替换 char * 中的一个字符,但我的程序出错

#include <stdio.h>

int main(int argc, char **argv)
{
    char *mystring ="love is alweys better yoe";
    int count = 1;

    for (count ;  count < 23; count++)
    {     
    if ((mystring[count] == 0x65 )) //&& ((mystring[count+1] > 0x41) && (mystring[count+1] < 0x7A))) 
    {
      mystring[count] = 0x45; //here occur the freezing
      printf ("%c\n", mystring[count]); 
      //break;
    };
    };

    printf("%s\n",mystring);
    return 0;
}

最佳答案

char *mystring ="love is alweys better yoe"

将 mystring 设为只读

你需要先将字符串复制到缓冲区中才能更改它

例如

char mystring[128];
strcpy( mystring , "love is alweys better yoe" );

关于c - 如何替换char *中的char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4331439/

相关文章:

c# - 寻找用不同语言编写的示例程序

c - 为什么这段代码从 fork 开始执行 printf 8 次?

c - 欧拉项目 - 最大的素因数计算能力无法处理我的脚本

c - 嵌入式 C 编程 - 瑞萨电子

c - 无法使用 fopen() 打开文件

c - 将本地数组的内容分配给全局静态数组的内容?

c++ - 如何检查特定路径中不在 CWD 中的目录?

c - 如何重置 C 中的结构条目

c - GTK 按键事件传播要么导致递归,要么不起作用

c - 如何按 char 字段对结构数组进行排序,以便空字段位于最后位置?