c++ - 将 char 存储到指针值中时出现运行时错误

标签 c++

<分区>

问题出在第 15 行和第 16 行 我无法将 char 存储到 指向字符串的指针。 问题与中给出的相同 我的书。?我需要改变我的 编译器开发 C++? 请帮忙。

#include<iostream>
#include<conio.h>
using namespace std;
void reverse(char *str)
{
    char *end=str;
    char *beg=str;
    char temp;
    while(*end)
    {
        end++;
    }
    end--;
    while(beg<end)
    {
        cout<<*beg<<" , "<<*end<<endl;
        temp=*beg;
        *beg=*end;
        *end=temp;
        beg++;
        end--;
    }
    cout<<str;
}

int main()
{
    char *str="saurabh";
    reverse(str);
    getch();
    return 0;
}

最佳答案

char *str="saurabh";

您不能操纵 "saurabh",因为它是字面意思。

为此,您应该将其复制到 char[]

例子,

char arr[20];
char *ptr = "Data";

strcpy(arr,ptr);

关于c++ - 将 char 存储到指针值中时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22421144/

相关文章:

c++ - 如何释放在 GLU_TESS_COMBINE 回调中分配的内存

从函数返回时的 C++ 基本类型降级

c++ - 如何将彩色文本输出到 Linux 终端?

c++ - 链接 C++ 和 Fortran90 代码时出错

c++ - 将文本字符串与函数相关联

c++ - 在基类和派生类中 copy-and-swap

c++ - 使用printf打印 float 时有额外的前导零?

c++ - C++中的二维 bool 数组初始化

c++ - FFMpeg:从 AV_SAMPLE_FMT_S16 重采样到 AV_SAMPLE_FMT_FLTP 将比特率除以 2

c++ - 使用模板类型为该模板类型生成唯一的成员名称