自寫的字串擷取程式,不懂可以繼續問
系統裡的擷取前n個字元是strncpy
#include
char *mystrncpy(const char *string,int n){//要求擷取的字串不可以改變,但指向字串的指標可以改變
char *p=string;
if(p==NULL){//如果擷取的字串是空的直接返回
return NULL;
}else{
int i=0;
while(*p!="\0"){//迴圈直到達n個字串終止
if(i==n){
break;
}
i++;
p++;
*(p++)="\0";//賦值結束字串
return string;
int main()
{
char str[50]="hello world";
printf("%s\n",mystrncpy(str,3));
printf("Hello world!\n");
return 0;
自寫的字串擷取程式,不懂可以繼續問
系統裡的擷取前n個字元是strncpy
#include
#include
char *mystrncpy(const char *string,int n){//要求擷取的字串不可以改變,但指向字串的指標可以改變
char *p=string;
if(p==NULL){//如果擷取的字串是空的直接返回
return NULL;
}else{
int i=0;
while(*p!="\0"){//迴圈直到達n個字串終止
if(i==n){
break;
}
i++;
p++;
}
*(p++)="\0";//賦值結束字串
return string;
}
}
int main()
{
char str[50]="hello world";
printf("%s\n",mystrncpy(str,3));
printf("Hello world!\n");
return 0;
}