C语言分割字符串

最近在做一道C语言题目的时候需要用到分割字符串,本来想自己手写的,也不会很麻烦,但想到其他语言都有分割字符串的库函数,C语言怎么会没有呢?所以,在网上搜了一搜,果然有这样的函数,还是很好用的,在此总结。

 1 #include <stdio.h>
 2
 3 #include <string.h>
 4
 5 int main()
 6 {
 7     char in[10000];
 8     char delims[] = " ";
 9     char *result;
10
11     fgets(in, 9995, stdin);
12
13
14
15     result = strtok(in, delims);
16     while (result != NULL)
17     {
18
19       printf("%s\n", result);
20
21       result = strtok(NULL, delims);
22     }
23     return 0;
24 }

在C语言手册中可以很方便地查到strtok的用法,要注意的一点是,除了首次调用时,第一个参数要传要分割的字符串,其他时候都要传NULL。

时间: 2024-12-26 11:42:10

C语言分割字符串的相关文章

C语言分割字符串函数strtok

在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带来很多的便利. 下面我将在MSDN中学到的strtok函数做如下翻译. strtok :在一个字符串查找下一个符号 char *strtok( char *strToken, const char *strDelimit ); 返回值:返回指向在strToken字符串找到的下一个符号的指针,当在字符串找不到符号时,将返回NULL.每 次调用都通过用NULL字符替代在strToken字符串遇到的分隔符来修改strTok

用C语言来分割字符串

#include <stdio.h> int main() { char str1[10] = {0}; char str2[10] = {0}; char str3[10] = {0}; sscanf("1,2,3#3,4#4,5","%[^#]#%[^#]#%[^#]", str1, str2,str3); printf("The split result is:\n%s\n%s\n%s\n",str1, str2,str3);

go语言中字符串分割

go语言中字符串的分割分以下几种: 1.根据空格键进行分割 方法:strings.Fields(s string) []string s:要分割的字符串 返回结果为[]string 例: s:=" ab cd          ef gh ij kl " arr:=strings.Fields(s) fmt.Printf("arr:%q\n",arr) 结果为:arr:["ab" "cd" "ef" &qu

根据标识符分割字符串

常常遇到根据某个标识符分割字符串,并将分割的结果保存到字符串数组中.遇到过以下几种需求: 分隔符是一个字符集和,以便处理不同的输入格式,比如用tab或逗号分隔的输入 处理2个分隔符之间的内容为空的情况,2种需求,输出空字符串或者忽略掉 处理字符串末尾的回车符,2种需求,忽略或删除 c语言的strtok函数支持分割字符串,它在遇到分隔符之间的内容为空的时候会忽略掉空元素,往前推进返回下个非空的字符串,分割完成后返回NULL.这个函数貌似还有个多线程的版本. //分割字符串,如果遇到分割的结果是空字

【字符串】面试题之以逗号分割字符串,形成二维数组

题目: 有一个字符串符合以下特征("abcdef,acccd,eeee,aaaa,e3eeeee,sssss,"), 要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串,形成二维数组,并把结果传出: 2) 把二维数组行数运算结果也传出. 请自己定义一个接口(函数). 要求1:能正确表达功能的要求,定义出接口(函数)(30分): 要求2:正确实现接口(函数),并实现功能(40分): 要求3:编写正确的测试用例.(30分). //头文件 #include <stdio.h&

C语言08字符串 &amp; 预处理 &amp; 结构体

项目开发中字符串模型建立 strstr的while dowhile模型 //int cltClient_rev(void *handle, unsigned char *buf, int *buflen) //不要相信别人给你传送的内存地址是可用的 int getCout(char *str, char *substr, int *count) { int rv = 0; char *p = str; int ncout = 0; if (str==NULL || substr== NULL |

C语言里字符串的解析

原文网摘:http://www.cnblogs.com/yi-meng/p/3620244.html#undefined 根据给定的字符串,按照一定规则解析字符串,卡住好几次,这次做个笔记,以供参考 函数名称:   strtok 函数原型:   char *strtok(char *s1, const char *s2) 函数功能:   分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词) 函数返回:   字符串s1中首次出现s2中的字符前的子字符串指针 参数说明:   s

iOS开发-OC语言 (三)字符串

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; min-height: 29.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC&

go语言之字符串、指针、数组切片

一: 字符串 概述: Go 语言将字符串作为 种原生的基本数据类型,字 符串的初始化可以使用字符串字面量. (1 )字符串是常量,可以通过类 数组 索引访问其字节单元,但是不能修改某个字节的值 (2 ]宇符串转换为切片[]byte( 要慎用,尤其是当数据量较大时(每转换一次都需复制内容) a := ” hello, world !” b : = []byte (a) (3 )字符串尾部不包含 NULL 字符 (4 )字符串类型底层实现是一个二元的数据结构,一个是指针指向字节数组的起点,另一个是长