自学C day10-几个小函数的注意事项

scanf()

1、用于存储字符串的空间应该足够大,防止溢出
2、用%s,遇到空格和\n 终止
3、默认不能接受带有空格的字符串,可以通过正则表达式来接受

scanf(“%[^\n],str) 

接收除去\n之外的所有东西,这样就把空格给包进来了

字符串操作函数

gets()

获取一个字符串,返回字符串的首地址,可以获取带有空格的字符串

char *gets(char *s)

参数:用来存储字符串的空间
返回值:返回实际获取到的字符串首地址
gets和scanf都是不安全的字符串获取函数

fgets()

他的作用和gets是一样的,也是为了从键盘获取一个字符串
char *fgets(char *s,int size, FILE *stream)
参1:用来存储字符串的空间地址
参2:描述空间的大小
参3:读取字符串的位置(从哪里拿来的字符串)。键盘传来的字符串叫做标准输入:stdin
返回值:返回实际获取到的字符串首地址
会预留\0的空间,能保证字符串不会越界,fgets空间够就读\n,不够就不读\n

	printf("%s\n",fgets(str, sizeof(str), stdin));

puts()

默认写出到屏幕

int puts( const char *s)

参1:将一个字符串写出到屏幕,防止误操作把字符串改了
返回值:成功返回非负数,失败返回-1
puts函数输出的东西自带一个回车

fputs()

写出到stdout,但是没有\N的换行符,它默认是往文件里面写的,没有必要加换行符

int fputs(const char * str ,FILE * stream)

参1:代写出到屏幕的字符串
参数:写出位置stdout stdout就是标准输出到屏幕
返回值:成功返回非负数,失败返回-1

strlen()

size_t strlen(const *s);

参1:待求长度的字符串
返回:有效字符串个数
求的是有效长度,到\0结束
获取字符串的有效长度,不包括\0
字符串操作函数,头文件是string。h
上面的头文件是stdio.h

//实现strlen()
int main(void)
{
	char str[] = "hello\0world";
	int i = 0;
	while (str[i] != '\0')
	{
		i++;
	}
	printf("%d\n", i);
	return EXIT_SUCCESS;
}

字符串追加


//字符串的追加
int main(void)
{
	char str1[] = "hello";
	char str2[] = "world";
	char str3[100]= {0};

	int i = 0;
	int j = 0;
	
	while (str1[i] != '\0')
	{
		str3[i] = str1[i];			//循环着将STR1里的东西交给str3
		i++;
	}
	while (str2[j] != '\0' )
	{
		str3[i] = str2[j];
		j++;
		i++;
	}
	printf("%s\n",str3);


	return EXIT_SUCCESS;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值