请注意,这与如何按解析方式分割字符串不要混淆,例如:
在C++中分割字符串?
我有些困惑如何在C++中将一个字符串分成多行。
这听起来像一个简单的问题,但看下面的例子:
#include <iostream>
#include <string>
main() {
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" +
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" &
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
}
我知道我可以使用std::string
的append()
方法,但我想知道是否有更短/更优雅的(例如更像Python的)方式在C++中将字符串分成多行以增加可读性(显然C++不支持三重引号等)。
这种情况特别希望的一个地方是当您将长字符串字面量传递给函数时(例如一个句子)。
""""" 这是一个有效的字符串,将被解析 """""
。但是,这些字符串没有特殊属性,它们只是像单引号一样运作。 - Thomas Anthony