C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出【转】

本文转载自;http://www.cnblogs.com/easyfrog/archive/2011/12/26/C_strstr_split_string.html

C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出

strstr() 命令是在原字符串中查找指定的字符串第一次出现的地址,用这个特性可以实现字符的分割,判断是否包涵等功能:

下面的这个例子是实现 字符串以分割串分割输出:

 1 #include <stdio.h> 2 #include <string.h> 3  4 int main() 5 { 6     char *str="aaa||a||bbb||c||ee||"; 7     char *sp="||"; 8  9     char *pos = strstr(str,sp); //先从原始串中寻找分割符所在地址10     char *lastPos = str; //上一次的首地址 ,第一次当然为原始串的首地址11     while (pos != NULL)12     {13         if((pos - lastPos) > 0) //两个分割串之间是否存在字符14         {15             int i = 0;16             do17             {18                 printf("%c",*(lastPos + i)); // 从上一地址向当前地址 逐一的输出字符19                 i++;20             }21             while((lastPos + i) < pos);22             printf("\n"); // 在结尾增加换行23         }24         lastPos = pos + strlen(sp); //新的字串首 是在上一次找到的地址位置+分割符长25         pos = strstr(lastPos,sp); //再从新的字串地址开始查找 下一个分割符位置26     }27     return 0;28     /*29     输出:30         aaa31         a32         bbb33         c34         ee35 */36 }

时间: 2024-08-06 07:35:39

C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出【转】的相关文章

OC:可变字符串NSMutableString 的一些用法

NSString 是不可变字符串,所以方法调用时并不是对原字符串进行修改,而是先建立一个原字符串的副本,然后对副本内容进行修改. NSMutableString是NSString的子类,可以使用它的所有方法. 1.NSMutableString提供了附加字符串的方法. 可以使用appendString或appendFormat来对可变字符串操作: - (void) appendString: (NSString *) string; - (void) appendFormat: (NSStrin

python字符串-内置方法用法分析

1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本 1.2 S.lower() -> string 返回一个字母全是小写的副本 1.3 S.swapcase() -> string 返回一个字母大小写转换后的副本 1.4 S.title() -> string 将单词的首字母大写,即为所谓的标题 方框里是中文的编码,可以发现 s 还是大写了,说明会无视其他类型的字符,找到英文单词就将其首字母大写 1.6 S.capitaliz

C语言预处理命令详解

一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能,它由预处理程序负责完成.当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译. C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define).文件包含(#include).条件编译(#ifdef)等.合理使用预处理功能编

Linux大杀器命令:查找所有目录下的所有文件的字符串命令

命令为: *find . |xargs grep -ri "bspSetPonTxDisable" -l* 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如

C语言中库函数strstr的实现

在C语言中库函数strstr()函数表示在一个字符串str1中查找另一个字符串str2,如果查到则返回str2在str1中首次出现的位置,如果找不到则返回null. char* strstr(char* str,char* s){ int n; if(*s != '\0'){ while(*str){ for(n=0;(*str+n)==(*s+n);n++){ if(!*(s+n+1) == '\0'){ return (char*) str; } } str++; } return NULL

字符串查找 strstr

strstr函数 分类: LINUX 函数名: strstr 功 能: 在串中查找指定字符串的第一次出现 用 法: char *strstr(char *str1, char *str2); strstr原型:extern char *strstr(char *haystack, char *needle); 用法:#include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL). 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL

vim查找/替换字符串 及一些高级用法

例: 32 ./run 0_39.pkt 0_39.jpg 33 ./run 0_3.pkt 0_3.jpg 34 ./run 0_40.pkt 0_40.jpg 35 ./run 0_41.pkt 0_41.jpg 36 ./run 0_42.pkt 0_42.jpg  :%s/pkt$/jpg/g vim中删除包含某字符串的所有行::g/txt/d http://www.cnblogs.com/GODYCA/archive/2013/02/22/2922840.html vi/vim 中可以

C语言中一些乱七八糟的用法与细节(不断更新)

用C语言比较多,这篇是平时攒下的.有些内容在工作后可能会很常见,但是不用容易忘,所以就写篇博客吧. 一.printf的用法 %*可以用来跳过字符,可以用于未知缩进.像下面一样. for(i = 1; i < 10; i++) { printf("%*c\r%*c\n",  9 - abs(i - 5), '*', abs(i - 5) + 1, '*'); } %[]可以用来读取指定的内容,%[^]可以用来忽略指定内容(正则表达式?) %m可以不带参数,输出产生的错误信息 二.关

c语言编译命令

第14章 预处理及用户配置文件 • 预处理命令通常在程序编译时进行一些符号处 理,其并不执行具体的硬件操作.C51语言中的预 处理命令主要有宏定义指令.文件包指令和条 件编译指令,还有其他一些调试时使用的指令. 本章将详细介绍各种预处理命令以及C51的用户配 置文件,并结合一定的程序实例以加深理解.本 章包括: 宏定义指令 文件包指令 条件编译指令 C51编译器的控制指令 C51的用户配置文件 14.1 预处理命令概述 • C51语言中提供了各种预处理命令,类似于汇编程序中的伪指令.一般来说,在