Tag: 输入

为getchar()添加超时

我需要在程序中为getchar()添加一个超时函数。 我该怎么办,当我的程序到达指令getchar()时,它只会等待一段时间让用户进行击键,如果用户没有在给定的时间限制内进行击键,程序将“跳过”getchar()? 操作系统不支持conio.h库,因此kbhit不是一个选项。

在C中读取字符串

如果我正在使用C gets(),并且我正在从用户那里读取一个字符串,但我不知道我需要多大的缓冲区,并且输入可能非常大。 有没有办法可以确定用户输入的字符串有多大,然后分配内存然后将其放入变量中? 或者至少是一种接受输入而不知道它有多大的方法,有可能它不适合我已经分配的缓冲区。

诅咒得到箭头键

在尝试通过curses(ncurses)从箭头键获取输入时,它不会捕获KEY_UP等。我使用带有true参数的键盘函数但getch仍然返回一个转义序列。 如何筛选getch()返回的值并专门抓取箭头键?

scanf动态分配

无论出于何种原因,以下代码打印(null): #include #include int main(void) { char *foo; scanf(“%ms”, &foo); printf(“%s”, foo); free(foo); } 我正在尝试动态地为字符串分配内存,但正如我之前所说,我的程序只是输出(null)。 我通过使用getche和realloc创建一个函数来解决这个问题,但是由于我还必须编写用户输入退格键,制表符等所会发生的事情,这似乎几乎毫无意义。但正如我所说的那只是一项工作周围,​​我宁愿知道为什么上面的代码不起作用… 附加信息: 我正在使用Pelles C IDE v7.00并使用C11标准进行编译

使用char指针和char数组输入

考虑代码 #include int main(void) { char* a; scanf(“%s”,a);//&a and &a[0] give same results-crashes printf(“%s”,a); return 0; } 为什么这段代码导致崩溃?而使用字符数组的代码工作正常? #include int main(void) { char a[100]; scanf(“%s”,&a[0]);//works fine printf(“%s”,a); return 0; } 差异是字符数组和指针?但我知道指针只指向第一个元素是&a [0]应该工作正常但是高级代码崩溃所有三个是a,&a和&a [0]? 我要收集的主要内容是,如果我坚持只使用scanf,我该如何输入字符指针? 如果我不清楚,我道歉。 提前致谢:)

读取用户输入,直到在C中按下ESC

有没有办法读取用户输入,直到按下ESC键(或任何其他键)? 我已经看过关于它的论坛,但他们都是为了C ++。 我需要制作一个适合C的人。谢谢

仅在C中进行error handling时强制输入为正数

我有一个微不足道的问题要问。 我的程序应该只采用正整数。 如果有任何违法行为,应提示用户再次输入号码。 我现在的代码是: #include int main(){ int reads; int num=0; char a; while(num<=0){ printf("Please Enter positive integer: "); while(((reads = scanf("%d%c", &num, &a)) != 2 && reads != EOF) || a != '\n' ){ do { printf("Please Enter positive integer: "); reads = scanf("%c", &a); }while(reads != EOF && a != '\n'); } } […]

使用scanf()输入validation

我有一个程序接受用户的整数,并在加法操作中使用该数字。 我用来接受这个号码的代码是这样的: scanf(“%d”, &num); 如何validation输入,以便用户输入带小数点的字母或数字时,屏幕上会显示错误消息?

按Enter键继续C

你如何在C中“按Enter继续”?

如何在C中使用重定向进行文件输入

我需要从终端获取文件,我知道命令将如下所示: ./a.out < fileName.txt 我不知道如何在我的程序中使用fgets()来使用终端请求的文件。