c++ 去掉一个长字符串string每隔64位得换行符,重新拼接为一个长字符串
时间: 2024-09-06 10:06:40 浏览: 41
在 C++ 中,如果你有一个很长的字符串 `str` 并希望按照每 64 位分隔并添加换行符 `\n`,可以先将字符串拆分成多个子串,每个子串长度不超过 64 位,然后将它们连接起来形成新的字符串。这里是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
std::string formatLongString(const std::string& str) {
std::stringstream ss;
for (size_t i = 0; i < str.length(); i += 64) {
if (i + 64 > str.length()) {
// 如果剩余不足64位,取余
ss << str.substr(i);
} else {
ss << str.substr(i, 64) << "\n";
}
}
return ss.str();
}
int main() {
std::string longStr = "非常长的一段测试字符串,超过64位需要分割"; // 长字符串示例
std::string formattedStr = formatLongString(longStr);
std::cout << formattedStr << std::endl;
return 0;
}
```
在这个例子中,我们创建了一个 `stringstream` 对象 `ss`,然后遍历输入字符串,每次读取 64 位并在需要的时候添加换行符。最后,`ss.str()` 将流转换回标准字符串。
阅读全文