0:超出字符串长度,截取失败;1:截取成功
#include<stdio.h> #include<string.h> int mid(char str[],int start,int len,char strback[]); int main() { //char a[]="I have a dream";//初始化字符数组就不用指定它的大小 char str[100]; char newstr[100];//只是纯粹的申明一个字符数组变量就必须要指定一个大小 gets(str);//在VS2008里面会出现警告(gets不安全。),把gets改为gets_s就不会出现警告提示了 int m=mid(str,2,4,newstr); if(m) { printf("%s\n",newstr);//输出字符串,与下面的一样的效果 //puts(newstr); } else { printf("超出字符串长度\n");//加上/n才会换行 puts("超出字符串长度");//输出玩字符串后会自动换行 } return 0; } int mid(char str[],int start,int len,char strback[]) { int l,i,k=0; l=strlen(str); if(start+len>l) return 0; for(i=start;i<start+len;i++) { strback[k]=str[i]; k++; } strback[k]='\0';//关键一步 return 1; }
原文地址:http://blog.csdn.net/u012110719/article/details/41251805