易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中无法捕获C程序printf输出的问题

在测试
ConsoleRunner
的过程中发现一个有意思的现象,一段很简单的
C
程序:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
Sleep(500);
   
}
   
return 0;
}
 
ConsoleRunner
竟然无法捕获其输出,如果把
Sleep
拿掉就行,或者如果改用
C++

cout
也行,很奇怪,怀疑是缓冲区的问题,上网查找,果然如此,见“
fflush(stdout)
的用途是什么(http://bbs.chinaunix.net/viewthread.php?tid=693309)”,程序中加上一行后,问题消失:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
fflush(stdout);
       
Sleep(500);
   
}
   
return 0;
}


相关文档:

学习Java必看 JAVA代码编写的30条建议

 
学习Java必看 - JAVA代码编写的30条建议
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:
 ThisIsAClassName
 thisIsMethodOrFieldName
 若在定义中出现了常数初始化 ......

java 工厂模式

一、引子
话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?! ......

Java递归


Java遍历文件夹的2种方法:
A.不使用递归:
import java.io.File;
import java.util.LinkedList;
public class FileSystem {
public static void main(String[] args) {
long a = System.currentTimeMillis();
LinkedList list = new LinkedList();
File dir = new File("c:\\java\\ ......

java的接口和抽象类之建筑意义

今天在研究项目中的设计思想的时候,得出一个对接口和抽象类非常形象的一个比喻。
他们都在“建筑”中得以应用,接口就像大楼的图纸,抽象类就是大楼的架构,楼层就是真正的类。
图纸只是规划出大楼的样子,规定了要做成设计样式才能真正打到诸多效果,但是并不规定要如何盖,对楼层的设计也不考虑,有了图纸, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号