十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了高坪免费建站欢迎大家使用!
#define N 100
char *Mid(char a[],int i,int j);//返回值类型是指针
void main()
{
char k[12]="HELLOWWORLD";
printf("%s", Mid(k,3,4) );
}
char *Mid(char a[],int i,int j)
{
int m,t=0;
static char b[N]; //为保证不丢失,定义成静态
for(m=i-1;mi+j-1;m++)
{
b[t++]=a[m];
}
b[t]=0;//字符串结束符
return b;
}
你得深刻理解啥叫字符串。。。不然你恐怕不懂我给你的代码。。。
我先写一段最简单的、你有可能看懂的吧。
#include stdio.h
int main()
{
char str[] = "testroad";
str[4] = 0;
printf("Result: %s \n", str);
return 0;
}
当然,基于这个知识可以封装成逻辑。关于这个问题,邵发的《C/C++学习指南》的第5章讲的已经足够明白了。到优酷上找“C/C++学习指南”相关的视频教程和文字教程吧。
memset或strnset函数可用来对一段内存空间全部设置为某个字符
例如,产生n个空格
char s[20]="";
memset( s, ' ', n);s[n]=0;
strnset( s, ' ', n );s[n]=0;
截取子串
char s[]="abcdefghijklmn", char d[20];
左截取s串n个字符到d
strncpy(d, s, n);d[n]=0;
右截取s串n个字符到d
strncpy(d, s + strlen(s) - n, n);d[n]=0;
s第i个位置开始截取n个
strncpy(d, s + i - 1, n);d[n]=0;