c语言截断字符串

c语言截断字符串,第1张

//写法很多,我提供一份源码,仅供参考。

#include <stdio.h>

#include <string.h>

//字符串分割函数

int GetToken(char *pszSrc, char *pszSplit, char *pszDest)

{

    int 纯扒铅iPos

    char *pPtr = NULL

    

    pPtr = strstr(pszSrc, pszSplit)

    

    if( pPtr ) 

    {

        iPos = strlen(pszSrc) - strlen(pPtr)

        strncpy(pszDest, pszSrc, iPos)

        strcpy(pszSrc, pPtr + strlen(pszSplit))

        pszDest[iPos] = '\0'

    }

    else

    {

        iPos = strlen(pszSrc)

        strncpy(pszDest, pszSrc, iPos)

        pszDest[iPos] = '\0'

        pszSrc[0] = '\0'

        

        return 0

    }

    

    return 1

}

int main()

{

    char szData[] = "1234:01201407291000000001:abcdefgskskjdfskdjskfjsfsdjf"

    char szFiled1[8]

    char szFiled2[32]

    char szFiled3[64]

    做好GetToken(szData, ":", szFiled1)

    GetToken(szData, ":", szFiled2)

    GetToken(szData, ":", szFiled3)

    printf("Filed1=%s\nFiled2=%s\nFiled3=%s\n", szFiled1, szFiled2, szFiled3)

    return 0

}

希望能够帮助到你,你的此档好评是我前进的动力。

可改变数组大小,满足你可能的输入状况。

#include<stdio.h>

int main(){char str[200]// 假定输入1行字符串,长度在200以内char s[20][16]// 假定 用逗号分隔的部分约20个。

每个长度 不超过16字符double d// 假定数据个数 不超过 20 个int i,j=0,L,n=0fgets(str,200,stdin)。

// 读入一行 字符串,含换行符L = strlen(str)。

//计算输入的字符串长度for (i=0i<Li++){s[n][j]=str[i]j++if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'j=0n++} // 取出逗号分隔开的字符串}

扩展资料:

C语言继续发展,在1982年,很多有野悉识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商、编译器及其他软件工具生产商、软件设计师、顾问、学术界人士、C语言作者和应用程序员组成。

1989年,ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“首基C89”,不过人们也习惯称其为“ANSI C”。

C89在1990年被国际标准组织ISO(International Standard Organization)一字不改地采纳,ISO官方给予的名称为:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被简称为“颂芹乎C90”。

1999年,在做了一些必要的修正和完善后,ISO发布了新的C语言标准,命名为ISO/IEC 9899:1999,简称“C99”。在2011年12月8日,ISO又正式发布了新的标准,称为ISO/IEC9899: 2011,简称为“C11”。

参考资料来源:百度百科-c语言


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8273719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存