C语言提取PDF字符串,使用C语言提取子字符串及判断对称子字符串最大长度.pdf

本文介绍了一种使用C语言处理包含中文字符的字符串的方法,包括获取字符串长度、定位特定位置的字符、从指定位置提取子字符串等功能。通过示例代码展示了如何实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使使用用C语语言言提提取取子子字字符符串串及及判判断断对对称称子子字字符符串串最最大大长长度度

先来看一个使用C语言从字符串中提取子字符串的基本方法 结:

#include

/*处理中文字符*/

/*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,获取字符串长度*/

int StrLenU(const char* string)

{

int len 0 ;

const char* p string;

while(*p++ ! '\0 ')

{

if(*p > 0x80 || *p < 0)

{

p++;

}

len++;

}

return len;

}

/*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,返回指定位置的字符串指针,默认从1开始*/

char* StrSetPosU(const char* string,int pos)

{

char* result;

result string;

while (result ! NULL && *result ! '\0 ' && pos > 1)

{

if(*result > 0x80 || *result < 0)

{

result++;

}

result++;

pos--;

}

if(pos! 0)

return result;

return '\0 ';

}

/*获取指定内存中的字符串个数,中文字符作为一个字符*/

int StrLenMemU(const char* string,int size)

{

int len 0 ;

const char* p string;

while(*p++ ! '\0 ' && size > 0)

{

if(*p > 0x80 || *p < 0)

{

p++;

size--;

}

size-- ;

len++;

}

return len;

}

/*可取中文字符串,当number为-1等负数时,取从start开始的剩余所有字符,默认从1开始*/

char* StringSubU(const char* string,int start,int number)

{

int len StrLenU(string) ;

if(start>len)

{

printf("Start %d is too big than string length %d!\n",start,len);

return NULL;

}

int bufsize 0;

int num number;

const char* p string;

const char* start_char string;

/*重置指针,获取指定开始位置*/

p StrSetPosU(string,start);

start_char p;

/*当取值为负值时,则取全部值*/

if(number < 0)

{

while(*p ! '\0 ')

{

p++;

bufsize++;

}

}

else

{

while(1)

{

/*当指针移到末尾,而且还没有获取指定数的字符时,说明此时指定字符数过多,将会取剩下的所有值

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值