输入
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. React native开发中常见的错误

    react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeExcept ...

  2. Java关键字之static

    static 表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被stati ...

  3. Android 数据库框架ormlite

    Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...

  4. HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)

    Hans Hoffmann等人在论文<Studies on the Bit Rate Requirements for a HDTV Format With 1920 x 1080 pixel ...

  5. 谈谈java中的线程(初级概念)

    定义 关于进程与线程的定义 可参看一下这个介绍 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 在不细抠定义的情况下 ...

  6. 写一个dup2功能相同的函数,不能调用 fcntl 函数,并且要有出错处理

    实现的时候用到系统原来的dup函数 // mydup2.c // 2015/08/17 Lucifer Zhang version1.0 // write my own dup2 function / ...

  7. 分别修改Cube每个面的贴图UV(Unity3D开发之十八)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46611169 ...

  8. C# DataTable,DataSet,IList,IEnumerable 互转扩展属性

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...

  9. 用C语言将一个数开根号后再取倒数的方法

    在上学的时候,曾经看过有人写过这样的算法,就是将一个数开根号后再取倒数的算法,我本人也觉得十分巧妙,于是就将它积累了下来,让我们来看看是怎么回事: #include <stdio.h> # ...

  10. mybatis ---- 实现数据的增删改查

    前面介绍了接口方式的编程,需要注意的是:在book.xml文件中,<mapper namespace="com.mybatis.dao.IBookDao"> ,命名空间 ...