C语言 截取字符串
发布网友
发布时间:2022-09-16 00:37
我来回答
共4个回答
热心网友
时间:2023-10-11 08:04
#include <stdio.h>
#define SIZE 1000/* 输入小于1000个字符 */
void Intcpt(char *str, char *keyStr, char chOne, char chTwo)
{
int i, j;
int count;
for (i=0; str[i]!='\0'; i++)/* 开始查找 */
{
if (chOne == str[i])/* 获取第一个标记 */
{
count = 0;/* 初始化 */
for (j=i+1; str[j]!=chTwo; j++)/* 获取第二个标记 */
{
keyStr[count++] = str[j];/* 开始拷贝 */
}
keyStr[count] = '\0';
printf("获取子串为:\n");
puts(keyStr);/* 输出 */
i = j;/* 继续查找 */
}
}
}
void main(void)
{
char chOne;/* 标记一 */
char chTwo;/* 标记二 */
char str[SIZE];
char keyStr[SIZE];/* 拷贝截获子串 */
printf("请输入字符串:\n");
gets(str);
printf("请输入截获标记(比如输入字符:< >):\n");
scanf("%c %c", &chOne, &chTwo);/* 注意!两个%c之间的空格不可省略 */
Intcpt(str, keyStr, chOne, chTwo);/* 自己定义了一个截获子串函数 */
}
如果对你有所帮助,请记得采纳最佳答案,谢谢!
热心网友
时间:2023-10-11 08:05
C语言没有现成的函数 不过可以自己写 用strchr找出’<‘和‘>’的位置 把中间的部分memcpy出去
热心网友
时间:2023-10-11 08:05
这好像是C++问题。。。
具体程序:
template<std::string str>
std::string returnstr(std::string str)
{return str;}
热心网友
时间:2023-10-11 08:06
Cstring str = "a char:<abcdefgh>";
Cstring m_First,m_second;
sscanf_s(str, "%s<%s>", &m_First, &m_second);
大概就是这种意思。下面是百度百科里面关于sscanf的用法,你可以参考一下,很强大的。
参考资料:http://ke.baidu.com/view/1364018