c_str()返回一个指向以 null 结尾的字符数组的指针, 即\0作为字符串的结束标志
也就是c_str()给你加上的\0.两个方法,先处理,后输出
[C++] 纯文本查看 复制代码 #include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
str1.append(str2);
//printf("%s\n", str1.c_str());
size_t len = str1.size();
// 使用 fwrite 来避免 printf 在遇到 null 终止符时停止输出
fwrite(str1.data(), sizeof(char), len, stdout);
return 0;
return 0;
}
[C++] 纯文本查看 复制代码 #include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
str1 += str2;
//printf("%s\n", str1.c_str());
size_t len = str1.size();
// 使用 fwrite 来避免 printf 在遇到 null 终止符时停止输出
fwrite(str1.data(), sizeof(char), len, stdout);
return 0;
} |