Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+中移动字符串的指针+;_C++ - Fatal编程技术网

C++ 在C+中移动字符串的指针+;

C++ 在C+中移动字符串的指针+;,c++,C++,在C中,我们能够做到这一点: char *str; scanf("%s", str); // lets say that we enter "Hello" str = str + 2; printf("%s", str); // and the answer would be "llo" 在C++中,在O(1)时间内有类似的字符串数据吗? 编辑:它给了我这个错误-> error: invalid operands to binary expression ('string' (aka 'bas

在C中,我们能够做到这一点:

char *str;
scanf("%s", str); // lets say that we enter "Hello"
str = str + 2;
printf("%s", str); // and the answer would be "llo"
<>在C++中,在O(1)时间内有类似的字符串数据吗?

编辑:它给了我这个错误->

error: invalid operands to binary expression ('string' (aka 'basic_string<char,
  char_traits<char>, allocator<char> >') and 'int')
str = str + 1;
string str = "Hello";
str = str + 1;
cout << str << endl;
错误:二进制表达式('string'(也称为'basic_string')和'int'的操作数无效
str=str+1;
Edit2:我运行了这段代码,得到了上面的错误->

error: invalid operands to binary expression ('string' (aka 'basic_string<char,
  char_traits<char>, allocator<char> >') and 'int')
str = str + 1;
string str = "Hello";
str = str + 1;
cout << str << endl;
string str=“你好”;
str=str+1;
不能包含
#包括
使用名称空间std;
int main(){
字符串s=“foobar”;

CUTE相同的代码在C++中也有未定义的行为。@ Guangangvyas是的,我一上载就知道了。我想用字符串数据类型来做这个。@ NealButWestNo.No,用字符串数据类型。对不起,我编辑了这个问题。指针在C和C++中通常都是一样的。C++ 17也有代码< String视图> /CUT>。在固定时间内形成
std::string\u view::substr()
或使用
std::string\u view::remove\u prefix()
进行变异。还可以在(…)处提及
确保给定索引位置是有效位置的功能,即使没有明确询问。谢谢你,很多人对这个问题投了反对票。可能是因为我没有正确解释这个问题。我认为在我第一次编辑后,这个问题很容易理解,但至少我得到了答案。@AbhishekAgr最后一次编辑后,我知道你的问题现在很清楚了。结果你得到了我的支持。来吧,你知道如何键入。键入一些解释并获得额外的+10声誉。应该注意的是,从c++11开始,字符串只保证在内存中是连续的。但据我所知,许多实现甚至在此之前就有过这种情况。null ter据我所知,只有在c++11之后才保证不使用c_str()。