社区
C语言
帖子详情
从终端获取字符串的问题?
mange0412
2003-08-21 01:26:25
要从终端获取一个字符串,必须包含空格,也就是不把输入的空格当结束标志,能实现这个功能的系统函数是不是只有一个gets()?
...全文
83
1
打赏
收藏
从终端获取字符串的问题?
要从终端获取一个字符串,必须包含空格,也就是不把输入的空格当结束标志,能实现这个功能的系统函数是不是只有一个gets()?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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();
}
c语言
获取
终端
输入
字符串
的函数scanf,gets,fgets
获取
终端
输入
字符串
scanf,gets,fgets
获取
终端
中输入
字符串
,我们常用getchar(),scanf(),gets(),和fgets()函数实现,这里简单汇总一下: scanf() 函数可以
获取
到
终端
字符串
,但是不能识别到空格字符,遇到空格会终止,空格后面的
字符串
会在缓冲区中,下次
获取
时会继续用。 gets()函数以回车字符进行标识,
获取
用户输入
字符串
以回车为终止符。 scanf和gets函数都是不安全的,如果目标
字符串
缓冲区无法存储我们输入的
字符串
,会导致段错误 fgets(
C++ 从
终端
获取
字符串
——OJ
字符串
输入处理
首先我们来看cin的用法:
C语言_输出
字符串
和
获取
字符串
嵌入式软件开发指南(C语言)
C语言
获取
终端
输出信息到
字符串
下述例子用于
获取
wifi命令输出信息
获取
字符串
,demo,非常的好用 int get_wifi_essid_signal(void) { FILE* fp; char buf[100] = {0}; char command[300] = "iwlist wlan0 scan"; int ret = 0; char str[100]; char signal_level[10] ; char *q = NULL; char *signal = NULL; if((...
VS C++ 从
终端
获取
数据
#include <conio.h>int _getch( void ); //从
终端
获取
一个字符,不回显int _getche( void ); //从
终端
获取
一个字符,回显int _putch( int c ); //写一个字符到
终端
<ctype.h>int isprint( int c ); //如果c是一个可打印的字符,返回true例程 从键盘输入整形
获取
#i...
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章