Tag: 输入

如何在一段时间后停用输入语句?

我们知道输入函数或运算符(cin,scanf,get … .etc)等输入表单用户这次没有限制。 现在,我会问一个问题和用户给出答案,直到现在没有问题,但我的问题是“用户有时间(可能30或40秒)给出输入,如果他失败,那么输入语句将自动停用和执行下一个声明。“ 我想你得到了我的问题。 那么请在这种情况下帮助我。 如果有人给我一些真正有用的示例代码会更好。 我在Windows 7中使用codebolck 12.11。

sscanf不移动,每次都扫描相同的整数

我有一个包含整数的字符串,我试图将所有的内容放入另一个数组中。 当sscanf找不到int我希望循环停止。 所以,我做了以下事情: int i; int getout = 0; for (i = 0; i < bsize && !getout; i++) { if (!sscanf(startbuffer, "%d", &startarray[i])) { getout = 1; } } //startbuffer is a string, startarray is an int array. 这导致startarray所有元素都是startarray中的第一个char。 sscanf工作正常但它不会移动到下一个int它只停留在第一个位置。 知道什么是错的吗? 谢谢。

正确使用sscanf

我应该得到一个输入行,可以是以下任何格式: 在单词1和单词2之间必须有空格。 在单词2和单词3之间必须有逗号。 在单词2和单词3之间不是必须的空格 – 但是任何数量的空格都是可能的。 如何分离1,2和3个单词的情况并将数据放入正确的变量? word1 word1 word2 word1 word2 , word3 word1 word2,word3 我想到了类似的东西: sscanf(“string”, “%s %s,%s”, word1, word2, word3); 但它似乎没有用。 我使用严格的C89。

代码块重定向输入输出

我是代码块的新手,我似乎无法使用输出的命令行参数。 有谁知道怎么做? 我现在能够读取从argv [1]传递的文件但是,程序不会自动读取给定文件的输入,也不会将输出正确输出到文件输出。 我知道它是在set程序的参数上,我的参数行是:list.txt output 经过一些研究,我看到一个人这样做: ./output,好像在运行一个程序给出输入和输出,无论如何,我也尝试过无济于事。 我是否需要使用文件处理程序与之交互? 它没有成功,简单的getchar()应该从传递的输入文件中读取。 我在这里想念的是什么? 提前致谢

C scanf请求格式

我需要在我的C程序中scanf输入。 我是这样做的: scanf(“{[ %lf; %lf],[ %lf; %lf],[ %lf; %lf]}”, …) 但它对某些预期的输入无效。 它必须工作 {[0; 0],[10; 10],[15; 15]} 以及 {[4; -1],[7; 1.5],[4; 4]} 要么 但它需要printf(“Bad input.\n”)如果有些{ } ; , [ ] { } ; , [ ]缺少或额外。

在C中获取用户输入的最简单方法是什么?

似乎有很多方法可以在C中获得用户输入。 什么是最简单的方法,需要很少的代码? 基本上我需要显示这个: Enter a file name: apple.text 基本上我需要询问用户文件名。 所以我需要一些能够获得用户输入的单词的东西。

如何在C中读取无限字符

如何在不指定大小的情况下将无限字符读入char*变量? 例如,假设我想要读取可能也需要多行的员工的地址。

ANSI C中的无缓冲I / O.

为了教育和编程实践,我想编写一个简单的库,可以处理原始键盘输入,并“实时”输出到终端。 我想尽可能地坚持使用ansi C,我只是不知道从哪里开始这样的事情。 我已经完成了几次谷歌搜索,99%的结果使用了库,或者是用于C ++。 我真的很想让它在Windows中运行,然后在我有空的时候将它移植到OSX。

来自stdin的read()不会忽略换行符

我使用以下条件语句来读取标准输入。 if ((n = read(0,buf,sizeof(buf))) != 0) 当从标准输入输入数据时,通常用户在完成时按下输入。 但read()将’\ n’视为输入,在这种情况下n = 1且条件不计算为false。 当用户在标准输入上按Enter(不输入任何内容)而不检查buf的内容时,是否有办法使条件计算为false。 除了read()之外还有其他function可以用于此目的吗? 就此而言,当输入来自标准输入(stdin)时,读取什么方式可以确定输入结束?

如何限制C中的scanf函数在输入太长时打印错误?

我想限制scanf函数,所以当我输入例如一个超过30个字符的char* array ,它将无法获取它并且我的输出将是错误的。 我有一个提示使用[^ n]或类似的东西,但我不明白该怎么做? 我知道我可以使用scanf(“%30s”..)但我不希望输入有效,只是错误。 任何帮助都会很棒。