stdio相关内容
我正在尝试在Win32下以二进制模式从stdin解析数据. 我的代码要做的第一件事是在开头检查4byte标头: int riff_header; fread(&riff_header, sizeof(riff_header), 1, ifp); // 'RIFF' = little-endian if (riff_header != 0x46464952) { fprintf(st
..
在这个简单的数字猜测游戏中,scanf()在main中第二次不起作用.如果有人能解释为什么不起作用以及如何解决它,我将不胜感激. 关于如何清除此代码的任何提示?谢谢! #include #include #include int guessed = 0; int guesses = 0; int total_guesses = 0; in
..
我想要一个最小的o-damn-malloc-just-failed处理程序,该处理程序将一些信息写入文件(可能只是标准错误).我宁愿使用fprintf()而不是write(),但是如果fprintf()本身尝试进行malloc(),这将导致严重失败. 在C标准甚至glibc中是否有fprintf不会做到这一点的保证? 解决方案 不,不能保证不会.但是,我见过的大多数实现都倾向于使用固
..
我使用Eclipse。当我有这样的应用程序时: 写20次'Hello World \ n'到stdout 写' ERROR \ n'到stderr 写5次'Hello World \ n'到stdout 输出看起来好像很多次: Hello World Hello World Hello World Hello World Hello World
..
我正在使用java中的MUD。我每次打勾都会看到玩家输入,但我使用的是 Scanner ,它使用了阻止操作。我想要非阻塞输入。 我查看了 nio 包,其中包含选择器 class,但我不知道如何使用它来关于 System.in 。我想我在运行服务器时肯定需要它,但现在一切都处于脱机状态。 我试过从 Applet 并覆盖 keyDown ,但这只是意味着在第一个之后不再接受输入。当然,我不
..
我有一个Java线程: class MyThread extends Thread { @Override public void run(){ BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); String msg; try { while((msg = stdi
..
当我将东西输入我的程序时,似乎没有任何像0x4这样的字符来表示EOF。 $ echo“abc”|地图'cat' 看到了:\ x61 看到b:\ x62 看到c:\ x63 看到 :\ x0A zzzbc ^ C 我必须按Ctrl + C退出,但我'我真的不确定Ctrl + C的作用。它可能让shell向管道发送SIGINT?我不知道管道如何在该级别上工作。
..
我曾经使用下面的代码将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
..
我需要读取一行文本(以换行符结尾),而不对长度做出假设。所以我现在面对各种可能性: 使用 fgets 并每次检查是否最后一个字符是换行符并连续附加到缓冲区 使用 fgetc 读取每个字符,偶尔 realloc 缓冲区 Intuition告诉我 fgetc 变体可能会慢一些,但是我再也看不到 fgets 如何在不检查每个角色的情况下做到这一点(我的直觉也不总是那么好)。线条非常大,因此
..
我需要使用系统特定的功能,例如 ftello()(根据POSIX标准在 stdio.h 中定义)。 我也需要使用标准的C ++特性,例如 std :: sprintf()(根据ISO C ++标准在 cstdio 中定义)。 $ b AFAIK,包括 并不能保证定义非标准C ++的东西,所以我想我必须同时包含。 我很久以前就读过(例如)使用gcc可能会出现包含文件顺序问题。
..
ls -i /tmp/test/test.txt $是否可以打开一个知道它的inode的文件? b $ b 529965 /tmp/test/test.txt 我可以提供路径,inode(大于529965 ),我期待得到一个文件描述符。 解决方案 这是不可能的,因为它会打开一个漏洞访问控制规则。您是否可以打开文件不仅取决于自己的访问权限位,而且取决于每个包含目录的权限位
..
我写了一个程序,读取一个二进制文件,对其内容进行一些处理,并将结果写入一个不同的文件。在Linux中它完美的工作,但在Windows中,它不工作;输出文件总是1KB ... 这是程序的简化版本: pre > #include void copyFile(char * source,char * dest); $ b int main(int argc,cha
..
可能重复: Java:System.out.println和System.err.println无序 为什么这个代码 System.err.println (“呃”); System.out.println(“out”); 打印 out err 更新 如果我从命令行运行,相同的代码以正确的顺序打印。
..
这看起来像一个简单的问题,但我没有找到类似这里。 由于没有文件复制功能在C中,我们必须实现文件复制自己,但我不喜欢重复发明轮子即使对于这样的小事,所以我想问云: 你会建议使用fopen()/ fread()/ fwrite()文件复制什么代码? 您建议使用open()/ read()/ write()进行文件复制的代码? $ b 此代码应该是可移植的(windows / m
..
我有一个控制台应用程序(写为Symfony2命令),通过 STDIN 并通过 readline ,然后将用户输入传递给 eval() “debug shell”(类似于 php -a ),但是在项目env和Dependency Injection容器访问中。 我想为这个命令写单元测试,但我打墙,如何(和可能)写这个行为的PHPUnit测试。 解决方案 我不熟悉Sf2 Comma
..
如果您使用CreateProcess标志CREATE_NEW_CONSOLE,新进程将其标准输入,输出和错误句柄定向到新的控制台窗口。如果要覆盖I / O流,可以通过设置STARTUPINFO字段hStdOutput,hStdInput和hStdError中的句柄并设置标志STARTF_USESTDHANDLES来实现。 但是如果你想覆盖只有一个句柄怎么办?例如,我可能希望将stderr重定
..
我正在做一个需要彩色输出的简单应用程序。如何使我的输出颜色像emacs和bash do? 我不关心Windows,因为我的应用程序只适用于UNIX系统。 解决方案 所有现代终端仿真器都使用ANSI转义码来显示颜色和其他内容。 不要打扰库,代码非常简单。 更多信息这里。 例如:C: #include #define ANSI_COL
..
我使用以下方式使用 fprintf 。一切似乎都确定,但 fprintf 根本不打印到我的文件! fprintf(pFile,“%s\\\ ”,“print”); 奇怪的是 fprintf OK 。它会在上面的代码中返回 6 ,但不会打印到文件! 文件已成功创建, 。 将其更改为 printf 正在打印, OK c> fprintf 并且其他s
..
我只是想在一个目录中的glob一切,并打印结果的列表,但我得到一个空printf: #include #include int main() { int result; glob_t buffer; buffer.gl_offs = 10; glob(“*”,GLOB_DOOFFS,NULL,& buffer); pri
..
引用 setbuf()是否影响cout? 我想增加缓冲区大小以提高cout的性能(它是 ,通常重定向到磁盘) 我可以: std :: cout.rdbuf() - > pubsetbuf(some_buffer,buffer_size); 以及 ios :: sync_with_stdio(false); 这是否有意义?
..