求 用C语言 写一个取字符串后N位 的函数

如题~那位达人帮忙写一个,谢过了~~~~~~
麻烦在解释一下:
strncpy(a2,a+n,strlen(a)-n+1);
中第二个参数为什么是a+n?
*(a2+strlen(a)-n)='\0';
这行为什么是strlen(a)-n而不是strlen(a)-n+1~
麻烦了 谢谢

感谢2楼 是我想要的。还是想在问下,您这里考虑/0了么?
在while处用不用加上!=‘/0’?

3楼的不太合适~呵呵 你定义的char行的数组 限制比较大了~~~呵呵 还是谢过了

C/C++ code #include <stdio.h>
#include <string.h>
//*********************************************************************//
//*****这个例子是截取指定字符串前四个字符给a1,后面的字符全部给a2******//
//*********************************************************************//
void main()
{
char * a="123456789";
char a1[100];
char a2[100];
int n=4;
strncpy(a1,a,n);
*(a1+n)='\0';
strncpy(a2,a+n,strlen(a)-n+1);
*(a2+strlen(a)-n)='\0';
printf("%s----%s",a1,a2);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-05
#include<string.h>//一定要包含此库
//以下是函数
void function(char a[],b[],n,N)//字符串存在a[]里,后N位执行后将存在b[]里,n是a[]数组字符串的长度,N位想取几位
{
int i,j;
i=n-N;
for(j=0;j<N;i++,j++)
b[j]=a[i];
}
第2个回答  2008-05-05
char * right(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
p += (len-n);
while(*q++ = *p++);
return dst;
}本回答被提问者采纳
第3个回答  2021-03-19

C语言字符串的学习,输入指定字符串,并且计算字符串的位数

相似回答