使用C中包含多个Null字符的字符串

user2212190:

我有一个char[]缓冲区,其中包含从内存读取的数据,这意味着该缓冲区内有多个Null,而结尾处不仅只有一个终止Null。

char *addr = (char *)memmem(buff, strlen(buff), needle, strlen(needle));

我需要处理此字符串,然后搜索并替换某些内容。为此,我想使用memmem(),但是不幸的是,它不起作用,因为缓冲区中有多个Null。

我试图将缓冲区中的Null替换为一个我认为不会出现的字符(Bell ASCII代码\ 7),然后对其进行处理,但这不起作用并破坏了我的数据。

还有另一种方法来处理具有多个Null的字符串吗?

克拉斯·林贝克(KlasLindbäck):

memmem可以用来做。但是,由于您的数据包含嵌入的空值,因此您不能用于strlen计算长度。您需要分别跟踪长度。

char *addr = (char *)memmem(buff, buffLen, needle, needleLen);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用C#检查字符串是否在字符串数组中包含字符串

在C#StringBuilder字符串中包含空字符

对C的char *字符串使用NULL

C字符串长度,使用null

如何在包含两个或多个相同字符的字符串中搜索字符串,这些字符用作使用 XPath 的分隔符?

字符串中随机包含多个下划线

检查文本中是否包含多个子字符串

lodash _。包含字符串中多个值之一

包含多个变量的字符串或函数(C ++)

如何使用 scanf() 保存包含多个单词的字符串

使用 .bat 文件查找和替换目录中包含的多个文件中的字符串

检查字符串是否包含存储在字符串数组中的多个值

如何使用c#将字符串中的两个大块也包含字符

如何从NSDictionary中删除包含“ <null>”的字符串

替换多个包含$符号的字符串

如果字符串包含多个值

C字符串中Null字符的空间

如何使用多个字符的字符串在PowerShell中“拆分”字符串?

C中的单个缓冲区中多个终止为null的字符串

如何从包含 C# 中特定子字符串的字符串数组返回字符串?

从C中具有多个NULL'\ 0'的函数返回字符串

Python:字符串中包含NOT字符串

使用包含字符串的sscanf解析字符串

在 C 中对字符串使用 scanf

如何在一行中读取 C 中的多个字符串,每个字符串都包含空格?

检查字符串是否包含C ++中的字符串

C#:检查字符串中是否包含用逗号分隔的字符串

使用字符串包含来标记字符串中的确切单词

如果列包含字符串数组中的字符串,请使用