字符串处理
2017-06-12 10:38
44 查看
gets、fgets
gets是从stdin流中读取字符串直至接受到换行符或EOF时停止
gets函数, 不对越界做判断
gets读取到换行符,转换成’\0’存入buff中。
char *fgets(char *s, int size, FILE *stream)
fgets(…)读入文本行时的两种情况1.如果n大于一行的字符串长度,那么当读到字符串末尾的换行符时,fgets(..)会返回。并且在s的最后插入字符串结束标志’\0’。 而s缓冲区剩余的位置不会再填充。
example:
123abc fgets(s,10,fp);
此时,读入七个字符,123abc\n,实际上还有最后的’\0’,所以,strlen(s)=7; 如果要去除末尾的\n,s[strlen(s)-1]=’\0’;便可。
2.如果n小于等于一行的字符串的长度,那么读入n-1个字符,此时并没有读入\n因为并没有到行尾 ,同样在最后会插入’\0’.
example:
123abc char s[5]; fgets(s,5,fp);
这时读入4个字符,123a,并没有换行符,所以strlen(s)=4.
puts、fputs
puts遇’\0’结束scanf
遇空格结束strlen()、sizeof( )
strlen( )计算字符串个数,不包含尾0sizeof( )计算字符数时包含尾零
strcpy、strncpy
strcpy(*buff, *str),包含尾零fprintf(stderr, “%c”, buf[i++])
//将buf内容以字符形式输出到标准错误输出(标准错误输出无缓存, 不用fflush()就能输出)sprintf(buf, “pid:%d uid: %d hello word”, getpid(), getuid());
//将pid、uid、得到的值和“hello word”写入到buf相关文章推荐
- 改进 ASP 应用程序中的字符串处理性能
- 适合于Unix与Win32下的字符串处理类,可以以此为基类进行扩展
- VB中字符串处理函数反汇编对比
- 几个字符串处理方法:
- ASP中一个字符串处理类加强版
- 改进 ASP 的字符串处理性能
- clob相关的咚咚以及字符串处理
- 改进 ASP 应用程序中的字符串处理性能[转帖]
- SQL字符串日期处理.doc
- 化解字符串不能超过8000的方法及交叉表的处理
- 字段里字符串的处理问题
- 改进 ASP 应用程序中的字符串处理性能
- 几个非常有用的字符串处理函数!
- javascript字符串处理
- Strsafe.h安全的C语言字符串处理函数
- C#中处理字符串和数字
- ASP中一个字符串处理类(加强)(VBScript)
- 项目工作小结之字符串处理的几个方法
- JAVA-字符串处理中的重点
- 字符串的折行处理