c char访问冲突错误

时间:2016-01-02 14:49:21

标签: c arrays string char

我想要一种修复变音符号(äöü)用于德语控制台应用程序的方法

*.ipynb

但是我在运行时遇到错误:

#define oe (unsigned char)148
[...]

char* fixUmlauts(char string[]) {
  for(int i = 0; i < strlen(string); i++) {
    switch(string[i]) {
      [...]

      case 'ö':
        string[i] = oe;
        break;

      [...]
    }
  }

  return string;
}
  

写入位置0x01276BE4时的访问冲突。

有什么问题?

1 个答案:

答案 0 :(得分:4)

您无法修改字符串文字Hallöle\n。您应该将其复制到char数组中,然后修改它:

char string[] = "Hallöle\n";
fixUmlauts(string);