自定义一个可以接收空格的字符串的函数

在linux系统下使用C语言开发时,在特定场景之下需要用到字符串输入语句,并且有时会输入空格。使用通常使用的字符串输入函数则会出现一些问题。
(1)使用scanf不能接收空格
(2)使用gets又会出现警告 ,又内存溢出的风险,
(3)使用fgets时,亲测,虽然可以接收带有空格的字符串命令,但是其内容却带有换行符,无法正确识别原来的字符串命令

void mygets(char get_str[128])//形参传入一个字符型的数组,或者一个字符串变量
{
        int i;
        char c;//作为值的中间传递
        for(i=0;i<128;i++)//使用循环将每个输入的字符存入字符数组的每一个地址中
        {
                c=getchar();//先将输入的每个字符存入C
		get_str[i]=c;//再将存入C的字符赋值给字符数组
		if(c=='\n')
 		{  
			get_str[i]='\0';//当按下回车时,将回车符改为空格符并且结束输入
   			break;
  		}
        }
}

PS:
(1)我们知道的是如果形参传入的是一个地址,会改变原地址所存放的数据
(2)根据字符串输入的长度,自拟数组长度哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值