C语言中类似substring函数的用法,substring函数用法
分享于 点击 39784 次 点评:235
C语言中类似substring函数的用法,substring函数用法
/*本文用于知识积累,若有错误之处望指出,谢谢。*/
C语言是没有substring函数的,但是可以通过类似的函数去获取字符串,也可以用自定义的方式。
函数名称: strncpy
函数原型: char *strncpy(char *dest, const char *src,int count)
函数功能: 将字符串src中的count个字符拷贝到字符串dest中去
函数返回: 指向dest的指针
参数说明: dest-目的字符串,src-源字符串,count-拷贝的字符个数
所属文件: <string.h>
#include <stdio.h>
#include <string.h>
int main()
{
char string[10];
char *str1="abcdefghi";
strncpy(string,str1,3);
string[3]='\0';
printf("%s",string);
return 0;
}
______________________________________________________________________________
函数名称: memcpy
函数原型: void *memcpy(void *dest, const void *src, size_t n)
函数功能: 字符串拷贝
函数返回: 指向dest的指针
参数说明: src-源字符串,n-拷贝的最大长度
所属文件: <string.h>,<mem.h>
#include <stdio.h>
#include <string.h>
int main()
{
char src[]="******************************";
char dest[]="abcdefghijlkmnopqrstuvwxyz0123456709";
char *ptr;
printf("destination before memcpy:%s\n",dest);
ptr=memcpy(dest,src,strlen(src));
if (ptr)
printf("destination after memcpy:%s\n",dest);
else
printf("memcpy failed");
return 0;
}
------------------------------------------------------------------------------------------------------------------------
自己写substring函数。 // 转自 Devilhand 博客
#define N 50
int substring(char *, int, int, char *);
main()
{
int start,len,count;
char s[N];
char t[N];
printf("请输入字符串:\n");
gets(s);
printf("请输入起始位置:");
scanf("%d",&start);
printf("请输入所取字符长度:");
scanf("%d",&len);
count=substring(s,start,len,t);
if(count==-1)
printf("起始值超出范围!\n");
else if(count==-2)
printf("长度超出范围!\n");
else
{
printf("得到的字符串是:");
puts(t);
getch();
}
return 0;
}
int substring(char * s,int start,int len,char * t)
{
int i=0,j=0;
while(s[i])
i++;
if(i<start)
return -1;
else if(i<start+len)
return -2;
else
{
for(i=start-1;i<=start+len-2;i++)
{
t[j]=s[i];
j++;
}
t[j]='\0';
return 1;
}
}
相关文章
- 暂无相关文章
用户点评