输入
gets() 函数 :
1.gets() 从标准输入设备读取字符串,以回车结束读取,使用'\0'结尾,回车符'\n'被舍弃没有遗留在缓冲区。
2.可以用来输入带空格的字符串。
3.可以无限读取,不会判断上限,因此使用gets不安全,可能会造成溢出。
 
fgets() 和 fputs() 函数 :
1.fgets函数的第2个参数指明了读入字符的最大数量.如果该参数是n, 那么fgets会读入n-1 个字符,或者读到第一个换行符为止
2.如果fgets函数读到一个换行符, 会储存在字符串中
3.fgets的第三个参数指明了要读入的文件
4.fputs不在字符串的末尾添加换行符
 
s_gets()函数 :

 char *s_gets(char *st, int n){
char * ret_val;
char *find;
ret_val = fgets(st, n, stdin); if (ret_val){
// while (*st != '\n' && *st != '\0'){
// st++;
// }
find = strchr(st, '\n'); if (*find){
*find = '\0';
} else {
while (getchar() != '\n'){
continue;
}
}
}
return ret_val;
}
 
scanf()函数 : 
scanf() 和 gets() 函数类似 , 也存在一些潜在的缺点 . 如果输入的内容过长 , scanf() 也会导致数据溢出
 
 
输出:
puts()函数 :
使用方法 : 把字符串的地址作为参数传递给它就可以
puts() 会自动添加换行符 , 切必须要有空字符 , 因为只有空字符它才会停止
 
fputs()函数 :
fputs(char *, stdout);
fputs()不会在输出的末尾添加换行符
(puts应和gets配对使用 , fputs与fgets配对使用);
 
自定义输入/输出函数 :
while (string != ‘\0’)
putchar(*string++);
 
字符串函数 :
strlen() : 用于统计字符串的长度
strcat() : 用于拼接字符串 , 函数接受两个字符串作为参数 , 把第2个字符串的备份附加在第1个字符串末尾 , 并把拼接形成的新字符串作为第1个字符串 , 第2个不变
问题 : 无法检查第1 个数组是否能容纳第2个字符串 , 如果分配给第1个数组的空间不够大 , 多出来的字符就会溢出 (可以用strlen()函数 strlen(a) + strlen(b) + 1 <= SIZE)
strncat() : 该函数的第3个参数制定了最大添加字符数 , 如strancat(a, b, 13) 将把b的内容附加给a , 在加到第13个字符或遇到空字符时停止 , 所以a应该足够大 , 以容纳原始字符 + 添加在后面的13个字符 + 末尾的空字符
strcmp() : 比较字符串的内容 , (比较的是字符串 , 不是字符 , 也不是字符串的地址) , 如果两个字符串参数相同 , 就返回0 , 否则返回非零值
strncmp() : 可以限定只比较几个字符
strcpy() : 用来拷贝整个字符串 , strcpy的参数顺序 , 第1个是目标字符 , 第2个是源字符
其他属性 : 第一 , strcpy()返回类型是char * , 该函数返回的是第1个参数的值 , 即一个字符的地址 , 第二 , 第1个参数不必指向数组的开始
char *strchr(const char *s, int c) 
功能:查找字符串s中首次出现c字符的位置
说明:返回首次出现c的位置的指针,返回的地址是被查找的字符串指针开始的第一个与c相同字符的指针,若s中不存在c则返回NULL。。。。
返回值:成功返回要查找的字符第一次出现的位置,否则返回NULL。。。。

C语言 > 字符串和字符串函数的更多相关文章

  1. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  2. C语言中返回字符串函数的四种实现方法

    转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...

  3. C语言的常用字符串操作函数(一)

    一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...

  4. R语言中的字符串处理函数

    内容概览   尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串有时候也会在数据分析中占到相当大的份量.   R语言是一个擅长处理数据的语言,但是也不可避免的需要处理一些字符串(文本数据).如何高 ...

  5. 【R笔记】R语言中的字符串处理函数

    内容概览 尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串同样极为重要.从医疗研究数据里的出生日期到文本挖掘的应用,字符串数据在R程序中使用的频率非常高.R语言提供了很多字符串操作函数,本文仅简 ...

  6. 【C语言】10-字符和字符串常用处理函数

    一.字符处理函数 下面介绍的两个字符处理函数都是在stdio.h头文件中声明的. 1.字符输出函数putchar putchar(65); // A putchar('A'); // A int a ...

  7. C语言中关于字符串的一些常用函数

    使用以下时应当在头文件中加入string.h getch()为当你键入任何一个值时,返回但是并不显示,立马编译结束,返回的是asc码  getchar():当你键入回车之后才算是输入结束,并且可以用p ...

  8. go语言之进阶篇字符串操作常用函数介绍

    下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...

  9. c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)

    好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教: 字符查找函数: char *my_strchr(const char *s,int c) { ch ...

  10. 实现C语言字符串操作的库函数 包括基本的字符串复制 字符串长度 字符串比较等多种函数(C代码)

    头文件 "mystring.h" #ifndef _MYSTR_H #define _MYSTR_H #include <stdio.h> #include <s ...

随机推荐

  1. Cocos2D中相关问题提问的几个论坛

    如果和SpriteBuilder相关可以到: http://forum.spritebuilder.com 提问. 如果是Cocos2D的问题,则可以到以下论坛询问: http://forum.coc ...

  2. Linux C OSS音频编程

    在linux下也可以写一个类似麦克风和喇叭这样的应用程序,只要打开/dev/dsp这个设备驱动,对该设备read读操作相当于录音,对这个设备write写操作相当于放音. 对于以下出现的一些参数我就不多 ...

  3. TortoiseGit安装过程

     运行TortoiseGit-1.7.7.0-32bit.msi,如下图 点击Next, 下一步 点击Next, 下一步 选择ssh客户端, 使用默认, 点击Next, 下一步 选择安装路径, 点 ...

  4. GRUB与Linux系统修复(第二版)

    GRUB配置解析 配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来] 软链接保存在 /etc/grub.conf 1.grub.conf文件分析 defau ...

  5. Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解

    Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆 ...

  6. C# 创建Word项目标号列表、多级编号列表

    在Word文档中,对于有多条并列的信息内容或者段落时,我们常以添加项目标号的形式来使文档条理化,在阅读时,文档也更具美观性.另外,对于在逻辑上存在一定层级结构的内容时,也可以通过多级编号列表来标明文档 ...

  7. Construct Binary Tree from Preorder and Inorder Traversal(根据前序中序构建二叉树)

    根据前序中序构建二叉树. 1 / \ 2 3 / \ / \ 4 5 6 7对于上图的树来说, index: 0 1 2 3 4 5 6 先序遍历为: 6 3 7为了清晰表示,我给节点上了颜色,红色是 ...

  8. spring3.1文档目录翻译

    整理google共享磁盘找到了2014年翻译的spring官方文档的目录,分享出来可能会对英语不好的同学有些帮助吧. spring3.1官方文档目录-中文 spring3.1官方文档-英文 关于作者

  9. 【图文详解】HDFS基本原理

    本文主要详述了HDFS的组成结构,客户端上传下载的过程,以及HDFS的高可用和联邦HDFS等内容.若有不当之处还请留言指出. 当数据集大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区,并 ...

  10. Day19 Django

    老师代码博客: http://www.cnblogs.com/yuanchenqi/articles/7552333.html 上节内容回顾: class Book(models.Model): ti ...