【发布时间】:2018-08-21 01:30:15
【问题描述】:
我想在一系列特定字符或子字符串之前获取字符串。 例如,我有
unsigned char KeyStr[BUFFER_SIZE] = "-#NOT#"
unsigned char SomeStr[BUFFER_SIZE] = "this is the string i want to extract-#NOT#"
从上面的 char 数组,我想得到 this is the string i want to extract 。
我想在-#NOT# 或KeyStr 之前获取任何字符串。
我知道我可以使用strstr 来检查KeyStr 是否存在于SomeStr 中,但是我如何在KeyStr 之前提取字符串。
据我所知,我不能使用 strtok 原因,它检查分隔符而不是子字符串。
我是 C 的新手,所以完全一无所知。 任何帮助将不胜感激。
【问题讨论】:
-
C 还是 C++? C++ 有一些简洁的函数,但你似乎对 C 函数很感兴趣。
-
您似乎也被固定在 C“字符串”上。这个问题中提到的唯一不是 C 的东西是 “我是 C++ 新手”。您可能在学习 C 而不是 C++?
-
是的,实际上我使用的是 unsigned char[] 而不是
string。但大多数其他代码是 c++。所以,基本上我需要一个 C 解决方案。我已经坚持了很长一段时间了。 :( -
如果这是一个愚蠢的问题,我真的很抱歉。我是新手,所以对 C 语言没有太多经验。:(
-
"但大多数其他代码都是 c++。所以,基本上我需要一个 C 解决方案。" 这与逻辑结论相反。如果您正在编写 C++ 代码,则需要 C++ 解决方案。
标签: c++ c arrays string substring