C语言常用录入文件,字符串函数

本文介绍了一个自定义函数s_gets,它使用fgets获取输入,替换换行符为空字符,以便于规范化字符串存储和后续操作。同时提及了getchar和strch函数的相关用法。
摘要由CSDN通过智能技术生成

       如果需要录入字符串,文件,常用gets()函数,但是函数会储存键盘输入的或者文本中本就存在的换行符,下面这个函数在该函数的基础上将换行符替换成空字符,将多行字符串合成一行,方便字符串的规范储存和后续操作,且可以检查输入是否为空。

​
//将换行符替换成空字符
char* s_gets(char*st, int n)
{
	char* ret_val;
	char* find;
	//第一个指针作为函数返回值传递给主调函数,返回录入字符串的储存位置
	//第二个指针用来查找换行符
	ret_val = fgets(st, n, stdin);//调用fgets函数
	if (ret_val)//检查是否成功输入
	{
		find = strch(st, '\n');//查找换行符的位置,将地址赋给find指针
		if (find)//如果存在换行符
			*find = '\0';//将换行符替换为空字符
		else
			while (getchar() != '\n')//如果没有换行符,吸收其他字符直到出现换行符
				continue;

	}
	return ret_val;
}

​

      关于getchar()函数,strch()函数,fgets()函数的参数含义及详细用法可以参考主页里文章“处理字符串的常见函数”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

客行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值