1 #include<stdio.h> 2 #include<stdlib.h> 3 4 char* substring(char* ch,int pos,int length) 5 { 6 char* pch=ch; 7 //定義一個字符指針,指向傳遞進來的ch地址。 8 char* subch=(char*)calloc(sizeof(char),length+1); 9 //通過calloc來分配一個length長度的字符數組,返回的是字符指針。 10 int i; 11 //只有在C99下for循環中才可以聲明變量,這里寫在外面,提高兼容性。 12 pch=pch+pos; 13 //是pch指針指向pos位置。 14 for(i=0;i<length;i++) 15 { 16 subch[i]=*(pch++); 17 //循環遍歷賦值數組。 18 } 19 subch[length]='\0';//加上字符串結束符。 20 return subch; //返回分配的字符數組地址。 21 } 22 23 int main(){ 24 char* result; 25 char* tstStr = "abcdefg"; 26 result = substring(tstStr,0,2); 27 28 printf("結果:%s",result); 29 30 }
參考:http://blog.csdn.net/sujudz/article/details/7933211
