输入
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. TCP/IP滑动窗口

    T C P使用一种窗口(w i n d o w)机制来控制数据流.当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发送给另一端.当数据到达时,接收方发送确认,其中包含了自 ...

  2. markdown简易快速的编辑格式(易读易写)

    实现简单快速书写,格式指定简便.易读易写 讲解http://wowubuntu.com/markdown/ 简单使用的讲解:http://www.ituring.com.cn/article/23 代 ...

  3. Ubuntu 14 安装Skype 4.3

    Ubuntu 14 安装Skype 4.3Step 1: 删除老版本sudo apt-get remove skype skype-bin:i386 skype:i386 sudo apt-get i ...

  4. ORACLE 多表关联 UPDATE 语句

    为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create table customers ( customer_id num ...

  5. 【一天一道LeetCode】#29. Divide Two Integers

    一天一道LeetCode系列 (一)题目 Divide two integers without using multiplication, division and mod operator. If ...

  6. 【翻译】使用Sencha Touch开发Google Glass应用程序

    原文:Developing for Google Glass with Sencha Touch 作者:Ross Gerbasi Ross Gerbasi is a Senior Engineer a ...

  7. Unix/Linux中的read和write函数

    文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.当读或写一个文件时,使用open或creat ...

  8. 【Visual C++】游戏编程学习笔记之六:多背景循环动画

    本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44264153 作者:ZeeCod ...

  9. Learning ROS forRobotics Programming Second Edition学习笔记(八)indigo rviz gazebo

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  10. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...