stdio相关内容

Win32下在stdin上使用fread()的问题

我正在尝试在Win32下以二进制模式从stdin解析数据. 我的代码要做的第一件事是在开头检查4byte标头: int riff_header; fread(&riff_header, sizeof(riff_header), 1, ifp); // 'RIFF' = little-endian if (riff_header != 0x46464952) { fprintf(st ..
发布时间:2020-05-28 00:02:48 其他开发

C scanf()问题?

在这个简单的数字猜测游戏中,scanf()在main中第二次不起作用.如果有人能解释为什么不起作用以及如何解决它,我将不胜感激. 关于如何清除此代码的任何提示?谢谢! #include #include #include int guessed = 0; int guesses = 0; int total_guesses = 0; in ..
发布时间:2020-05-22 20:19:09 其他开发

fprintf是否在后台使用malloc()?

我想要一个最小的o-damn-malloc-just-failed处理程序,该处理程序将一些信息写入文件(可能只是标准错误).我宁愿使用fprintf()而不是write(),但是如果fprintf()本身尝试进行malloc(),这将导致严重失败. 在C标准甚至glibc中是否有fprintf不会做到这一点的保证? 解决方案 不,不能保证不会.但是,我见过的大多数实现都倾向于使用固 ..
发布时间:2020-05-05 12:30:44 其他开发

并发/非阻塞控制台键盘输入

我正在使用java中的MUD。我每次打勾都会看到玩家输入,但我使用的是 Scanner ,它使用了阻止操作。我想要非阻塞输入。 我查看了 nio 包,其中包含选择器 class,但我不知道如何使用它来关于 System.in 。我想我在运行服务器时肯定需要它,但现在一切都处于脱机状态。 我试过从 Applet 并覆盖 keyDown ,但这只是意味着在第一个之后不再接受输入。当然,我不 ..
发布时间:2018-12-07 12:07:52 Java开发

Term :: ReadKey,原始模式下的非阻塞读取:检测EOF?

当我将东西输入我的程序时,似乎没有任何像0x4这样的字符来表示EOF。 $ echo“abc”|地图'cat' 看到了:\ x61 看到b:\ x62 看到c:\ x63 看到 :\ x0A zzzbc ^ C 我必须按Ctrl + C退出,但我'我真的不确定Ctrl + C的作用。它可能让shell向管道发送SIGINT?我不知道管道如何在该级别上工作。 ..
发布时间:2018-08-24 18:02:59 服务器开发

将2d数组写入C中的文件

我曾经使用下面的代码将1D数组写入文件: FILE * fp; float floatValue [5] = {1.1F,2.2F,3.3F,4.4F,5.5F}; int i; if((fp = fopen(“test”,“wb”))== NULL){ printf(“无法打开file.\”); } if(fwrite(floatValue,sizeof(fl ..
发布时间:2018-08-24 17:34:57 其他开发

C fgets与fgetc的阅读线

我需要读取一行文本(以换行符结尾),而不对长度做出假设。所以我现在面对各种可能性: 使用 fgets 并每次检查是否最后一个字符是换行符并连续附加到缓冲区 使用 fgetc 读取每个字符,偶尔 realloc 缓冲区 Intuition告诉我 fgetc 变体可能会慢一些,但是我再也看不到 fgets 如何在不检查每个角色的情况下做到这一点(我的直觉也不总是那么好)。线条非常大,因此 ..
发布时间:2018-08-24 17:22:41 其他开发

包含< cstdio>的正确顺序和< stdio.h> ;?

我需要使用系统特定的功能,例如 ftello()(根据POSIX标准在 stdio.h 中定义)。 我也需要使用标准的C ++特性,例如 std :: sprintf()(根据ISO C ++标准在 cstdio 中定义)。 $ b AFAIK,包括 并不能保证定义非标准C ++的东西,所以我想我必须同时包含。 我很久以前就读过(例如)使用gcc可能会出现包含文件顺序问题。 ..
发布时间:2018-04-21 10:32:11 C/C++开发

通过inode打开文件

ls -i /tmp/test/test.txt $是否可以打开一个知道它的inode的文件? b $ b 529965 /tmp/test/test.txt 我可以提供路径,inode(大于529965 ),我期待得到一个文件描述符。 解决方案 这是不可能的,因为它会打开一个漏洞访问控制规则。您是否可以打开文件不仅取决于自己的访问权限位,而且取决于每个包含目录的权限位 ..
发布时间:2017-11-06 21:45:34 服务器开发

Windows中的二进制输出

我写了一个程序,读取一个二进制文件,对其内容进行一些处理,并将结果写入一个不同的文件。在Linux中它完美的工作,但在Windows中,它不工作;输出文件总是1KB ... 这是程序的简化版本: pre > #include void copyFile(char * source,char * dest); $ b int main(int argc,cha ..
发布时间:2017-11-04 22:25:52 其他开发

尝试和真正的简单文件复制代码在C?

这看起来像一个简单的问题,但我没有找到类似这里。 由于没有文件复制功能在C中,我们必须实现文件复制自己,但我不喜欢重复发明轮子即使对于这样的小事,所以我想问云: 你会建议使用fopen()/ fread()/ fwrite()文件复制什么代码? 您建议使用open()/ read()/ write()进行文件复制的代码? $ b 此代码应该是可移植的(windows / m ..
发布时间:2017-01-06 21:30:09 开发方法

如何编写交互式控制台应用程序的单元测试

我有一个控制台应用程序(写为Symfony2命令),通过 STDIN 并通过 readline ,然后将用户输入传递给 eval() “debug shell”(类似于 php -a ),但是在项目env和Dependency Injection容器访问中。 我想为这个命令写单元测试,但我打墙,如何(和可能)写这个行为的PHPUnit测试。 解决方案 我不熟悉Sf2 Comma ..
发布时间:2016-12-28 21:41:50 PHP

CreateProcess与新的控制台窗口,但重写一些std i / o句柄

如果您使用CreateProcess标志CREATE_NEW_CONSOLE,新进程将其标准输入,输出和错误句柄定向到新的控制台窗口。如果要覆盖I / O流,可以通过设置STARTUPINFO字段hStdOutput,hStdInput和hStdError中的句柄并设置标志STARTF_USESTDHANDLES来实现。 但是如果你想覆盖只有一个句柄怎么办?例如,我可能希望将stderr重定 ..
发布时间:2016-12-28 20:55:30 C/C++开发

stdlib和彩色输出

我正在做一个需要彩色输出的简单应用程序。如何使我的输出颜色像emacs和bash do? 我不关心Windows,因为我的应用程序只适用于UNIX系统。 解决方案 所有现代终端仿真器都使用ANSI转义码来显示颜色和其他内容。 不要打扰库,代码非常简单。 更多信息这里。 例如:C: #include #define ANSI_COL ..
发布时间:2016-12-17 21:14:38 其他开发

fprintf函数不工作,但它返回正数

我使用以下方式使用 fprintf 。一切似乎都确定,但 fprintf 根本不打印到我的文件! fprintf(pFile,“%s\\\ ”,“print”); 奇怪的是 fprintf OK 。它会在上面的代码中返回 6 ,但不会打印到文件! 文件已成功创建, 。 将其更改为 printf 正在打印, OK c> fprintf 并且其他s ..
发布时间:2016-11-01 22:46:29 C/C++开发

Glob在C ++和打印结果

我只是想在一个目录中的glob一切,并打印结果的列表,但我得到一个空printf: #include #include int main() { int result; glob_t buffer; buffer.gl_offs = 10; glob(“*”,GLOB_DOOFFS,NULL,& buffer); pri ..
发布时间:2016-11-01 21:39:47 C/C++开发

增加缓冲区cout

引用 setbuf()是否影响cout? 我想增加缓冲区大小以提高cout的性能(它是 ,通常重定向到磁盘) 我可以: std :: cout.rdbuf() - > pubsetbuf(some_buffer,buffer_size); 以及 ios :: sync_with_stdio(false); 这是否有意义? ..
发布时间:2016-10-28 04:59:04 C/C++开发