关于 System I/O的问题
我我声明
FILE *outstream=(FILE *)0;
是否可以呢?是否这样做就使文件流指向了标准输入/输出设备?
我这样做
#include <stdio.h>
FILE *streamout= (FILE *)0;
int main(void)
{
char ch[10]="haha";
fopen((const char *)streamout,"a+");
fprintf(streamout,ch);
return 0;
}
但是程序总是发生错误。是否原本就不能这样做呢?但是在词法产生器里,它就是默认的标准输入/输出设备并在产生的词法分析程序中有类似:FILE *yyin=(FILE *)0;FILE * yyout=FILE *)0;这样的代码啊!!?
问题点数:20、回复次数:6Top
1 楼wasltone(WT.)回复于 2005-03-04 21:09:48 得分 0
你用SDK写?
那进入点应该是WinMain阿?。。
我就纳闷了。。。Top
2 楼he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net)回复于 2005-03-05 16:04:23 得分 10
fopen((const char *)streamout,"a+");
的返回值是FILE*
第一个参数是文件名Top
3 楼theCFan(郁闷的饿猫)回复于 2005-03-05 17:17:30 得分 0
我现在的问题是如何/能否通过文件操作来向标准输出设备——控制台来输出呢?Top
4 楼Mackz(在相互)回复于 2005-03-05 17:24:25 得分 10
stdout?Top
5 楼theCFan(郁闷的饿猫)回复于 2005-03-05 18:09:31 得分 0
恩 也就是能否通过fprintf之类的文件操作来实现?!
还有就是FILE *yyin=(FILE *)0;FILE * yyout=FILE *)0;合法吗?
如果不合法那flex生成的文件里怎么有这样的语句?Top
6 楼theCFan(郁闷的饿猫)回复于 2005-03-06 19:51:42 得分 0
问题解决了,就是因为stdout<>(FILE *)0Top




