C++ 手动设置字符*的结尾不会';行不通
我写了这个简短的程序C++ 手动设置字符*的结尾不会';行不通,c++,null,char,C++,Null,Char,我写了这个简短的程序 int main(){ char * c = "abcd"; c[1] = '\0'; cout << c << endl; } intmain(){ char*c=“abcd”; c[1]='\0'; 不能像那样修改字符串文本 请尝试以下方法: int main(){ char c[] = "abcd"; c[1] = '\0'; cout << c << endl; }
int main(){
char * c = "abcd";
c[1] = '\0';
cout << c << endl;
}
intmain(){
char*c=“abcd”;
c[1]='\0';
不能像那样修改字符串文本
请尝试以下方法:
int main(){
char c[] = "abcd";
c[1] = '\0';
cout << c << endl;
}
intmain(){
字符c[]=“abcd”;
c[1]='\0';
不能像那样修改字符串文本
请尝试以下方法:
int main(){
char c[] = "abcd";
c[1] = '\0';
cout << c << endl;
}
intmain(){
字符c[]=“abcd”;
c[1]='\0';
CUT< P>如果你使用C++为什么不使用?< /P>
如果你使用C++为什么不使用?< /P>
谢谢。那么到底是什么问题呢?你知道问题的根本原因吗?C标准对堆栈和全局内存没有任何规定,这是一个实现问题。声明标准不允许修改字符串文本就足够了。谢谢。那么到底是什么问题?你知道根本原因吗为什么不呢?C标准对堆栈和全局内存没有任何规定,这是一个实现问题。它应该足以说明标准不允许修改字符串文本。是的,我知道它也是这样工作的,但我真的想尝试“低级方式”因为它的核心是如何在语言的核心中工作……To:有趣的是,95%的人认为STD::String是跳过C++的主要原因之一。字符串操作大多不是时间关键的,C字符串API是很模糊的。实际上我在C++中使用了代码,我使用STD::String——我的问题刚刚出C。uriosity-没什么了:)无论如何,谢谢是的,我知道它也是这样工作的,但我真的很想尝试“低水平的方式”因为它的核心是如何在语言的核心中工作……To:有趣的是,95%的人认为STD::String是跳过C++的主要原因之一。字符串操作大多不是时间关键的,C字符串API是很模糊的。实际上我在C++中使用了代码,我使用STD::String——我的问题刚刚出C。uriosity-没什么了:)无论如何,谢谢
ab