从终端获取字符串的问题?

mange0412 2003-08-21 01:26:25
要从终端获取一个字符串,必须包含空格,也就是不把输入的空格当结束标志,能实现这个功能的系统函数是不是只有一个gets()?
...全文
83 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chon81 2003-08-21
  • 打赏
  • 举报
回复
可以自己写啊.
下面是我以前写的
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>

int readstr(char *getstr,int len) //输入字符串.
{
int l,i=0;//l是输入英文为1,输入汉字为2
char s[3]="\0\0\0";
while(len--)
{
s[0]=getch(); //取得第一个字符
l=1;
if(s[0]<0) //是汉字
{
s[1]=getch();
i++;
}
i++;
if(s[0]>0 && s[0]<32)//是控制字符
{
i--;
if(s[0]=='\n' || s[0]=='\t' || s[0]=='\r')
break;
if(s[0]=='\b' && i)
{
//if(getstr[i-1]<0) l=2;
i--;
len++;
getstr[i]='\0';
printf("\b \b"); //退格的实现
}
len++;
}
else //非控制字符.
{
getstr=strcat(getstr,s);
printf("%s",s);
}
s[1]=0;
}
return i;
}

main()
{
char str[10]="";
if(readstr(str,10)) printf("\n成功!输入的字符串是%s",str);
else printf("失败!");
getch();
}

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧