我遇到了两种不同的情况,但无法得出内部实际发生的情况的结论。谁能解释一下?
情况1:
#include<iostream>
using namespace std;
int main() {
string my_string = "This is a sam\0ple text"; //check the \0
cout << my_string;
return 0;
}
输出:
This is a sam
案例二:
#include<iostream>
using namespace std;
int main() {
string my_string = "This is a sample text";
my_string[13]='\0';
cout << my_string;
return 0;
}
输出:
This is a sam le text
我认为这两种情况是相似的,因此输出应该是相同的,但实际上这就是正在发生的事情。请解释。