文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>字符串操作

字符串操作

时间:2010-12-24  来源:dongliqiang1985


/*
 * string.c
 *
 * Created on: 2010-12-24
 * Author: qiang
 */

#include <stdio.h>
#include <stdlib.h>

typedef int ElemType;

//字符串转换:十进制整数转换成字符串

char* itoa(int num,char *str)
{
    int len=20;
    int i=0,j=0;
    char tmp[len];    //临时存放数据

    while(num)
    {
        tmp[i]=num%10+'0';    //除10取余,tmp存放的是倒序str

        i++;
        num/=10;
    }
    tmp[i]=0;    //字符串结束符

    printf("tmp is %s \n",tmp);

    i-=1;
    while(i>=0)
    {
        str[j++]=tmp[i--];
    }
    return str;
}

//字符串拷贝函数

char* mystrcpy(char* dest,const char* src)    //为了避免src无意中被修改,我们加入const加以修饰

{
    char* address=dest;    //存储目标起始地址


    while((*src) != '\0')
    {
        *dest=*src;
        dest++;
        src++;
    }
    *dest = '\0';

    return address;
}

//字符串删除函数

char* delsome( char* src, char* del,char* dest)
{
    int tmp=0;
    char *src2=src;    //字符串存储到静态数据区域

    char *p = del;    //将要删除的字符串暂存到*p中


    while(*src2)    //字符串为比较完

    {
        while(*p)    //del字符串没结束

        {
            if(*src2 == *p)    //字符相同,跳出循环;进行下次比较

                break;
            p++;            //比较字符向后移动

        }
        if(*p=='\0')        //字符串结束符-'\0',说明src中没有p中的元素

        {
            dest[tmp++]=*src2;        //存储提取的数据

        }
        src2++;
        p = del;    //重新赋值对比

    }

    dest[tmp]='\0';    //这里我们需要加入结束字符


    return dest;
}

int main()
{
    /*
    //整数转换成字符串形式
    int num;
    char str[20];
    printf("请输入要转换的十进制数字: \n");
    scanf("%d",&num);
    itoa(num,str);
    printf("转换后的字符串为:%s \n",str);
    */
    /*
    //字符串转换成整数形式
    int num=0,len=7;
    char str[]="123456";

    //转换开始
    int i,j;

    for(i=0;i<len-1;i++)
    {
        num=num*10+(str[i]-'0');
    }
    printf("123456 转换后的整数为: %d \n",num);
*/
/*
    //字符串拷贝函数
    char src[]="abcdefg";
    char dest[8];
    printf("要复制的字符串: %s \n",src);
    mystrcpy(dest,src);
    printf("复制后的字符串:%s \n",dest);
*/

    //字符串删除某些特定字符

    char src[20]="askbskbc";
    printf("原字符串:%s \n",src);
    char del[20]="ask";
    printf("要删除的字符包含: %s \n",del);

    char dest[20];
    delsome(src,del,dest);
    printf("删除后的字符串为:%s \n",dest);

/*
    //测试字符串结束符标志- \0 (0)
    char a[4]="abc";
    char *str=a;
    while(*str)        //字符串结束符:\0(0)
    {
        str++;
    }
*/
    return 0;
}


文件: string.zip
大小: 26KB
下载: 下载
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载