我是靠谱客的博主 孝顺金针菇,最近开发中收集的这篇文章主要介绍字符串的读和写,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用 print 函数和 puts 函数写字符串

  1. printf 函数遇到空字符才停止(如果空字符丢失,则会越过字符串末尾继续写,直到内存某个地方找到空字符)
  2. puts 函数只需要一个参数,即需要显示的字符串,且总会在结尾添加一个额外的换行符

例如:

char str[] = "Xing Baby Alliance Crown King";
puts(str);
printf("%s",str);
return 0;

/*输出结果
Xing Baby Alliance Crown King
Xing Baby Alliance Crown King
*/

用 scanf 函数和 gets 函数读字符串

  1. scanf 函数会跳过空格符,然后读取字符存入数组,直到遇到空格符、换行字符或制表符为止,在字符串末尾存储一个空字符
  2. gets 函数不会在读字符串之前跳过空格符,且会持续读取直到遇到换行符,但并不会把它存入字符数组,而是换成空字符存储

例如:

char str[30];
scanf("%s",str);
puts(str);
/*
输入:
  Xing Baby Alliance Crown King
输出:
Xing
*/
char str[30];
gets(str);
puts(str);
/*
输入:
  Xing Baby Alliance Crown King
输出:
  Xing Baby Alliance Crown King 
*/

由于 scanf 函数和 gets 函数都无法检测数组何时被填满,具有越界风险,C程序员常自己编写输入函数
例如:不跳过空格符,读取字符直到遇到换行符为止,返回有效字符数的自定义 read_line 函数

int read_line( char str[] , int n )
{//字符数组名str, 能容纳字符数最大值n
	int ch , i = 0;
	while( ch = getchar() != 'n' )
		if( i < n )
			str[i++] = ch;
	str[i] = ''; //末尾加上空字符
	return 0;	
}

注意:getchar() 函数返回值为 int 类型

最后

以上就是孝顺金针菇为你收集整理的字符串的读和写的全部内容,希望文章能够帮你解决字符串的读和写所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部