本文共 567 字,大约阅读时间需要 1 分钟。
在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)根据字符串输入的长度,自拟数组长度哦!转载地址:http://havqf.baihongyu.com/