假设我有一个const char *,我想用std :: cout打印,但是我只想打印前X个字符。有没有办法告诉std :: cout?(无需在字符串中插入终止空值或进行临时复制。)
C ++ 17引入 string_view
#include <string_view>
#include <iostream>
char message[] = { "my long char message" };
int length = some_number;
int main() {
string_view str(message);
std::cout << str.substr(0, length) << std::endl;
}
我没有尝试编译以上代码。string_view
基本上是一个字符串,只是它不“拥有”其内容(使用后不会删除内部指针)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句