测试程序

#include<iostream>
#include<cstring>
using namespace std;
int a[204],b[204],lena,n;
char s1[100]="12345";
char s2[100]="abcdefg";
char s3[100]="ABCDE";
int main()
{
strncat (s1,s2,3);//s1="12345abc";
strncpy(s1,s3,3);//s3的前三个字符拷贝到s1,s1="ABC45abc";
strncpy(s2,s3,6);//s2="ABCDE";
strncmp(s1,s3,3);//比较s1和s3的前三个字符,比较结果相等则输出0,小于则输出负数,大于则输出正数;
char *p=strchr(s1,'B');//在s1中查找'B' 第一次出现的位置;
if(p)//判断p是否为空指针。
cout<<"5)"<<p-s1<<","<<*p<<endl;
p=strstr(s1,"45a");//在s1中查找子串"45a"。s1="ABC45abc"
//strtok 用法:给定的字符串分隔成若干个子串
cout<<"strtok usage demo:"<<endl;
char str[]="-this,a sample string,OK.";
// 使用strtok从str中抽出被" ,.-"这几个字符分隔的子串
p = strtok (str," ,.-");
while (p!=NULL)//只要p不为NULL则说明找到一个子串。
{
cout<<p<<endl;
p= strtok(NULL," ,.-");//后续调用,第一个参数必须是NULL
}
return 0; }

解释与函数代码

char *strchr(const char* str,int c);

作用是寻找字符c在字符串str中第一次出现的位置。如果找到,就返回指向该位置的char*指针;如果str中不包含字符c,则返回NULL。

strncpy(char s1[a],char s2[b],n)

作用是如果s3长度大于等于n,则将s3的前n个字符拷贝到s1里面去,相应的会替换掉s1里面的n个字符,若小于n则全部拷贝到s1里面去,且“\0”也会被拷贝,即s3的字符长度。

strncat(const char s1[a],char *s2[b],n);

作用是把s2数组的前n个字符粘贴到s1数组的后面。

char* strstr(const char*str,const char*subStr);

作用是寻找子串subStr在str中第一次出现的位置,如果找到,就返回指向该位置的指针,没找到就返回NULL。

int stricmp(const char *s1,const char *s2);

作用是大小写无关的字符串比较,如果是s1小于s2则返回负数,若等于则返回0,大于则返回正数。不同编译器结果可能不同。

int strncmp(const char *s1,const *s2,int n);

作用是比较是s1前n个字符组成的子串和s2前n个字符组成的子串的大小,若长度不足n,则取整个串作为子串。返回值和strcmp类似。

char *strncpy(char *dest,const char *src,int n);

作用是拷贝src的前n个字符到dest。如果src长度大于等于n,该函数不会自动往dest中写入“\0”,若src长度不足n,则拷贝src全部内容以及结尾的“\0”到dest。

char *strtok(char *str,const char * delim);

连续调用该函数若干次,可以做到:从str中逐个抽取出被字符串delim中的字符分隔开的若干个子串。

int atoi(char *s);

将字符串s里的内容转换成一个整形数返回。比如,字符串s的内容是“1234”,那么函数返回值就是1234,如果s格式不是一个整形,比如“a12”,那么返回0。

double atof(char *s);

将字符串s中的内容转换成实数返回,比如,“12.34”就会转换成12.34.如果s的格式不是一个实数,则返回0。

char *itoa(int calue,char *string,int radix);

将整形值value以radix进制表示法写入string。

#C++初学记录(字符串与指针操作库函数)的更多相关文章

  1. 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  2. StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...

  3. Day4:T1小技巧(类似于指针操作)T2搜索+小细节

    Day4:其中有很多小技巧get T1 一直没有听到过像这样的小技巧的略专业名词,有点类似于指针操作,之前有碰到过很多这样的题目 每次都是以不同的形式出现,但是感觉思想还是有点接近的吧(就比如某天有一 ...

  4. shell脚本中字符串的常见操作及"command not found"报错处理(附源码)

    简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义S ...

  5. linux内核里的字符串转换 ,链表操作常用函数(转)

    1.对双向链表的具体操作如下: list_add ———向链表添加一个条目 list_add_tail ———添加一个条目到链表尾部 __list_del_entry ———从链表中删除相应的条目 l ...

  6. C语言字符,字符串,字节操作常用函数

    strlen 这个函数是在 string.h 的头文件中定义的 它的函数原型是 size_t strlen( const char ); size_t 是一个无符号整型,是这样定义的 typedef ...

  7. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  8. C语言处理字符串及内存操作

    字符串处理函数 1.字符串长度 strlen表示包含的字符的个数,size_t strlen(char cosnt *string), 返回的是size_t类型,它是无符号整数类型,在表达式中进行运算 ...

  9. c#编程指南(十) 平台调用P-INVOKE完全掌握, 字符串和指针

    可以说新手使用P-INVOKE最开始的头疼就是C#和C++的字符串传递,因为这里涉及到两个问题. 第一:C#的string和C++的字符串首指针如何对应. 第二:字符串还有ANSI和UNICODE(宽 ...

随机推荐

  1. hash文件-对文件进行数字签名

    (一)windows自带hash命令: certutil -hashfile D:\1.exe MD5              #  md5的hash值为32位certutil -hashfile ...

  2. 使用gdb调试应用程序

    目录 一.gdb基本使用 1. 启动gdb 2. gdb交互式命令 一.gdb基本使用 ​ GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调试工具. ...

  3. ORACLE 无法访问表空间

    问题描述: Oracle安装后创建用户,建表等都正常,但在插入数据的时候出现无法访问表空间 解决办法: ORACLE12权限管理比较严格需设置分配以下权限     系统权限赋值:unlimited t ...

  4. mac安装openjdk8-maven-mysql-git-docker

    1. openjdk8安装命令查看地址:https://github.com/AdoptOpenJDK/homebrew-openjdk#other-versions   感觉上面命令地址不靠谱,还是 ...

  5. [ipsec][strongswan] 使用VTI配置基于路由的ipsec

    之前写的一个:[dev][ipsec] 基于路由的VPrivateN 一 我们默认用strongswan的时候基于策略的. 也就是policy. 基于策略的ipsec中, policy承担了两部分功能 ...

  6. abp学习(二)

    翻译下首页截图的标签: DDD Base Classes 介绍: 应用程序代码库的分层是一种被广泛接受的技术,可帮助降低复杂性并提高代码重用性.为了实现分层架构,ASP.NET样板遵循域驱动设计的原则 ...

  7. 小a的排列(牛客)

    题目 题意: 一个长度为n的排列.输入n个数 a[ i ],a[ i ] ∈ [1,n],要求找到长度最小的区间 [ l , r ],满足区间[ l , r ]内的数是连续的,且同时包含 数 x 和 ...

  8. linux系统编程之管道(二)

    今天继续研究管道,话不多说,言归正传: 对于管道,有一定的读写规则,所以这里主要是对它的规则进行探讨,具体规则如下: 规则一: 下面用程序来验证下,还是用上节学的子进程写数据,父进程读取数据的例子,只 ...

  9. 《CoderXiaoban》第八次团队作业:Alpha冲刺 3

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件测试基 ...

  10. 虚拟机安装Linux从零到登陆成功教学

    1.Linux Linux使我们出来windows以外可能接触最多的操作系统了,因为好多超级大的互联网公司,比如阿里等就是用Linux的,所以我们最起码要知道怎样去使用,使用的前提就是我们要有一个这样 ...