📄 stringyhc.h
字号:
char* trim(char *str);
char* lefttrim(char *str);
char* rtrim(char *str);
char* alltrim(char *str);
char* subs(char *str,int k,int n);
char* single_blank(char *str);
char* strupper(char *str);
char* strless(char *str);
char* repl(char *str,int k,int n,char *substr);
char* appendblank(char *str,int k);
/*
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
main()
{
char s1[30]=" AbCed 12345 ",s2[30];
size_t i;
i=strlen(s1);
// strcpy(s1,"AbC1234567");---error //测试部分
//subs(s1,4,2);
strless(s1);
//single_blank(s1);
strcpy(s2,s1) ;
i=strlen(s2);
}
*/
char* trim(char *str)
{
long i;
char *p;
i=strlen(str);
if (i<1)
{
return str;
}
else
{
while ((str[i-1]==' ')&&(i-1>=0))
{
str[i-1]='\0';
i--;
}
return str;
}
}
char* rtrim(char *str)
{
trim(str);
}
char* alltrim(char *str)
{
trim(str);
lefttrim(str);
}
char* lefttrim(char *str)
{
char *p;
while (str[0]==' ')
{
p=strstr(str," ")+1;
strcpy(str,p);
}
return str;
}
/*返加str从k到n的部分 */
char* subs(char *str,int k,int n)
{
char tempstr[1024];
int i,j=0;
if (k>strlen(str)||n==0)
{
str[0]='\0';
return str;
}
strcpy(tempstr,str);
for(i=k-1;i<k-1+n;i++)
{
str[j]=tempstr[i];
j++;
}
str[j]='\0';
return str;
}
/*将str中连续的多个空格都变为单一空格 */
char* single_blank(char *str)
{
char tempstr[1024]="";
long i,n;
n=strlen(str);
if (n<2)
{
return str;
}
for(i=1;i<n;i++)
{
if (str[i-1]==' '&&str[i]==' ')
{
strcpy(tempstr,str);
subs(tempstr,i,n-i+1);
lefttrim(tempstr);
str[i]='\0';
strcat(str,tempstr);
n=strlen(str);
}
}
return str;
}
char* strless(char *str)
{ long i,n;
n=strlen(str);
for(i=0;i<n;i++)
{
if ((str[i]>='A')&&(str[i]<='Z')) str[i]=str[i]+('a'-'A');
}
return str;
}
char* strupper(char *str)
{ long i,n;
n=strlen(str);
for(i=0;i<n;i++)
{
if ((str[i]>='a')&&(str[i]<='z')) str[i]=str[i]-('a'-'A');
}
return str;
}
char* repl(char *str,int k,int n,char *substr)
{/* repl substr in str from pos k to pos k+n-1 (len=n ;strlen(substr)<=n )*/
char tempstr[1024];
int i,j,m0=0;
if (k>strlen(str)||k<0||n<=0)
{
return str;
}
strcpy(tempstr,substr);
if(strlen(tempstr)>=n) tempstr[n]='\0';
else
{
j=strlen(tempstr);
appendblank(tempstr,k-j);
}
for(i=k-1;i<k-1+n;i++)
{
if (str[i] =='\0') m0=1;
str[i]=tempstr[i-(k-1)];
}
if (m0==1) str[i]='\0';
return str;
}
char* appendblank(char *str,int k)
{
int i,j;
if (k<=0)
{
return str;
}
j=strlen(str);
for(i=1;i<=k;i++)
{
str[j]=' ';
j++;
}
str[j]='\0';
return str;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -