C ++-在打印char *时为std :: cout指定最大字符

阿迪阿迪

假设我有一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在打印和调试时,Visual C ++值是否不同?

在 C 中打印 char* 时,仅打印第一个字符

Valgrind在打印出字符数组时大小为8的无效读取

在打印时指定熊猫DataFrame列之间的间隔数

在C中动态指定scanf的最大字符串长度(例如printf中的“%* s”)

为什么在打印带索引的字符数组时出错

为什么g ++在打印c ++时需要-fpermissive标志来打印迭代器值?

C ++:Cout时为cin

在打印命令中打印字符串时出现 Discord.py 错误

std :: cout不将float打印为异常

在C#.net中,如何在打印时在行中获取文本?

为什么std :: cout可以打印一个char []?

C#Console.WriteLine将Char类型打印为Integer

C ++输入的相反顺序并将其打印为Char *

在打印时使用前缀为每行添加tee输出

在打印时反转字符串跳过一些字符的程序

使用最大字符数python打印单词(从用户输入)

为什么在打印希腊字符时IntelliJ的scala控制台显示问号?

为什么在打印或书写时更改多行字符串?(Windows上的Python 3.6)

为什么在打印时\ n仅在f字符串中起作用?

与硬编码字符串相比,在打印命令输出时bash的不同行为

fgets()函数在打印字符串时自动断行

为什么在打印字符串时不使用取消引用?

我在打印多行字符串时遇到问题

C:从char数组打印会产生错误的字符

gdb将char *打印为字符串字符

打印char数组C ++

达到最大字符数限制时如何折叠输入?

尝试输入最大字符时触发 Javascript 事件