社区
Linux/Unix社区
帖子详情
我想让用户输入回车得到缺省值。。。。。。。
hxliurui
2003-11-27 04:20:08
char str[90];
scanf("%s", str);
if 输入回车
strcpy(str, "filename.txt");
怎么实现这个功能?
...全文
32
15
打赏
收藏
我想让用户输入回车得到缺省值。。。。。。。
char str[90]; scanf("%s", str); if 输入回车 strcpy(str, "filename.txt"); 怎么实现这个功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blh
2003-11-27
打赏
举报
回复
今天没时间,明天再说
blh
2003-11-27
打赏
举报
回复
那你需要用ncurse库进行console编程了
买本书看看吧
hxliurui
2003-11-27
打赏
举报
回复
多谢前辈指点。
顺便问一下,如果用户输入不合法的格式,可以让光标回到输入点的位置吗?
please enter file name:
如果不合法,光标回到file name:处等待重新输入
这个问题另外送分。
blh
2003-11-27
打赏
举报
回复
因为linux的i/o缓存机制,你要么在字符串后加\n,要么使用fflush(stdout);强制输出
hxliurui
2003-11-27
打赏
举报
回复
#include <stdio.h>
#include <unistd.h>
int main()
{
int n = 0;
char str[90];
char ch;
printf("Please enter file name:"); //为什么这段提示出不来???
str[0] = 0;
while (n < 90)
{
read(0, &ch, 1);
if (ch == 10)
{
//printf("Press key is Enter!\n");
break;
}
else
{
//printf("Press key is %d\n", ch);
str[n++] = ch;
}
}
str[n] = 0;
if (n == 0)
strcpy(str, "filename.txt");
printf("%s\n", str);
return 0;
}
blh
2003-11-27
打赏
举报
回复
//你需要修改一下以增强安全度
#include <stdio.h>
#include <unistd.h>
int main()
{
int n = 0;
char str[90];
char ch;
str[0] = 0;
while (n < 90)
{
read(0, &ch, 1);
if (ch == 10)
{
//printf("Press key is Enter!\n");
break;
}
else
{
//printf("Press key is %d\n", ch);
str[n++] = ch;
}
}
str[n] = 0;
if (n == 0)
strcpy(str, "filename.txt");
printf("%s\n", str);
return 0;
}
hxliurui
2003-11-27
打赏
举报
回复
输完字符串后输回车,得到输入的字符串
什么也不输直接按回车得到缺省的字符串。
我表达错了,对不起
快点行吗?我急。。。。。。。。。。。马上给分
blh
2003-11-27
打赏
举报
回复
你到底是需要输入回车还是不输入?
也不知道是我的理解能力有问题,还是你的语言表达能力~!·#¥%……—*
hxliurui
2003-11-27
打赏
举报
回复
read 也要敲回车才往下走,而且没有'\0',我的目的是:
char str[90];
if 敲回车
strcpy(str, "file.dat");
else
输入的字符
怎么实现?马上给分
blh
2003-11-27
打赏
举报
回复
read是linux的系统调用(基本I/O)
在头文件#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
0表示stdin的file id,系统自动将进程的0、1、2三个file id留给stdin stdout stderr
read(0, &ch, 1);从stdin(标准输入)中读取一个字符,回车键字符值为10
hxliurui
2003-11-27
打赏
举报
回复
可恨的是scanf不输入别的字符光输回车根本就退不出来
hxliurui
2003-11-27
打赏
举报
回复
#include <unistd.h>
read()可以检查输入是哪个键。
但是怎样用它实现我的目的?楼上的老大,可以说的详细一点吗?
hxliurui
2003-11-27
打赏
举报
回复
read()在哪个头文件啊?我用的是red hat 7.3
编译说read没定义
blh
2003-11-27
打赏
举报
回复
#include <stdio.h>
int main()
{
char ch;
read(0, &ch, 1);
if (ch == 10)
{
printf("Press key is Enter!\n");
}
else
{
printf("Press key is %d\n", ch);
}
return 0;
}
hxliurui
2003-11-27
打赏
举报
回复
不是一定要用scanf,只要能实现这个功能就行了
Excel办公软件灵活妙用技巧笔记集锦
第13节:巧妙快速切换Excel单元格
回车
后的纵向
输入
和横向
输入
l 第14节:巧妙理解记忆Excel公式中的相对引用和绝对引用 l 第15节:Excel单元格文风快速两端对齐 l 第16节:Excel2013文档内容快速...
VC中控件处理
回车
键
回车
键实现
输入
焦点的传递 0 前期:建立单文档工程;新增对话框,关联类CTestDlg;新增菜单,添加View类消息处理函数;View头文件中包含CTestDlg 1 实现功能:当在第一个编辑框中按下
回车
键后,将
输入
焦点转移到...
Java 小例子:读取控制台的
用户
输入
1、简单的获取
用户
输入
下面是一个基本的例子,包含解释:import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;public class BasicInput { public static void main...
02-08 控制AutoCAD环境(八) 提示
用户
输入
Prompt for User Input 提示
用户
输入
The Editor object, which is a child of the Document object, defines the user input methods. The user input meth
python练习笔记
描述:编写一个程序,提示
用户
输入
四位整数并以反向顺序显示。
输入
格式:一个四位的整数 输出格式:四个一位整数,在同一行输出,空格分隔,结尾无空格无换行 示例
输入
1:1234 示例输出1:4 3 2 1 n=input() print...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章