c++ - 获取 char 数组的一部分

标签 c++ arrays char

我觉得这是一个非常愚蠢的问题,但我似乎无法在任何地方找到答案!

是否可以从一个字符数组中获取一组字符?抛出一些伪代码:

char arry[20] = "hello world!";
char part[10] = arry[0-4];
printf(part);

输出:

hello

那么,我可以从这样的数组中获取一段字符,而无需循环并逐个字符地获取它们或转换为字符串,以便我可以使用 substr() 吗?

最佳答案

您可以使用memcpy(或strncpy)获取子字符串:

memcpy(part, arry + 5 /* Offset */, 3 /* Length */);
part[3] = 0; /* Add terminator */

在代码的另一方面,请注意,如果 str 包含不受信任的输入,则执行 printf(str) 可能会导致格式字符串漏洞。

关于c++ - 获取 char 数组的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777207/

相关文章:

c++ - 在 C++ 中使用 Perl + Regex 将#define 更改为#undef

python - 在不同数组的一定范围内的元素中从一个数组中查找元素

C分配指针?这是什么?

java - 使用 print 语句找出十六进制代码 "5A"的字符

c++ - 如何增长 char 指针的动态数组(在 C++ 中)?

c++ - Qt Sql 无法将变量绑定(bind)到 QSqlQuery 准备语句

c++ - 函数返回期间出现奇怪的段错误

c - 从函数内部传递一个数组作为函数参数,该函数将它作为 C 中的参数

arrays - Postgresql 按共同的数组元素分组

c - char * x,y,z;char* x,y,z;char (*)x,y,z; 和有什么区别?