首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在windows下面用open操作文件描述符,该怎么处理

2012-03-30 
在windows下面用open操作文件描述符有一个linux下的库要迁到windows。其中使用了open(constchar*,int,...)

在windows下面用open操作文件描述符
有一个linux下的库要迁到windows。
其中使用了open(const   char   *,int,...)   来得到文件描述符。从来没有在windows下用过fd,请哪位大大告知一下,windows支持fd么?需要include那个头文件?
多谢。

[解决办法]
如果你在windows下用gcc,
這里有個範例.

1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <fcntl.h>
6
7
8 #define BSIZE 200
9 int main(int argc, char *argv[])
10 {
11 int fp, rsize ;
12 char buf[BSIZE] ;
13
14 if ( access(argv[1], F_OK) !=0) {
15 printf( "file not exists\n ");
16 exit(1) ;
17 }
18
19 fp = open(argv[1], O_RDONLY) ;
20 while ((rsize =read(fp, buf, BSIZE)) > 0) {
21 write(fileno(stdout), buf, rsize) ;
22 }
23
24
25 close(fp) ;
26 exit(0) ;
27 }

[解决办法]
fopen
[解决办法]
标准库的东西,一般都能移植的
[解决办法]
1楼的程序是 CYGWIN 编译还是 MINGW 编译的?按理说 WINDOWS 支持 POSIX API,但是没见人用过。
[解决办法]
是的, open read write 都不是标准库中的内容。

请使用 fopen fread fwrite
[解决办法]
windows下面操作文件有两种思路:
一。使用fopen, fclose, fseek, fread, fwrite, fseek等C标准函数
二。使用CreateFile,ReadFile,WriteFile等API函数


[解决办法]
<io.h>
[解决办法]
POSIX API 在vista里面不是取消了么。
windows还是用winapi吧。

[解决办法]
可以用MinGW,这些基本的IO操作支持得还是不错的。

热点排行