两头堵模型取中间字符

来源:互联网 发布:男朋友体力好体验知乎 编辑:程序博客网 时间:2024/05/16 01:35
#include<stdio.h>#include<stdlib.h>#include<string.h>#include <ctype.h>int getstr(char* from);void main(){    char str[100]="   abcdef   ";//不能用char* p=“   abcdef   ”模型是因为这种方式的字符串存储在全局区,而全局区的字符不能改变    getstr(str);    printf("非空格字符为:%s\n",str);    system("pause");}int findTwoPoints(char* from,int* counter){    char* tempFrom = from;//从主函数中获取字符串    int i=0,j=strlen(tempFrom)-1;//定义两个计数器,且初始化    int* tempcounter=counter;//定义总计数器    if(tempFrom==NULL||tempcounter==NULL)//如果传入空值,则报错    {        printf("from is NULL or counter is NULL");        return -1;    }    while(isspace(tempFrom[i])&&tempFrom[i]!='\0')    {        i++;    }//从头计数    while(isspace(tempFrom[j])&&tempFrom[j]!='\0')    {        j--;    }//从尾计数    *tempcounter = j-i+1;//记录字符总数    return 0;}int getstr(char* from){    char* tempFrom = from;//从主函数中获取字符串    int i=0,j=strlen(tempFrom)-1;//定义两个计数器,且初始化    int counter=0;//定义总计数器    if(tempFrom==NULL)//如果传入空值,则报错    {        printf("from is NULL or counter is NULL");        return -1;    }    while(isspace(tempFrom[i])&&tempFrom[i]!='\0')    {        i++;    }//从头计数    while(isspace(tempFrom[j])&&tempFrom[j]!='\0')    {        j--;    }//从尾计数    counter = j-i+1;//记录字符总数    strncpy(from,from+i,counter);//进行字符的复制    from[counter]='\0';//别忘了在最后加上分隔符    return 0;}
0 0
原创粉丝点击