C++里面文件描述符的使用举例
时间: 2024-05-13 09:15:32 浏览: 132
symbain 描述符.ppt
文件描述符是在Unix、Linux等操作系统中用于表示文件、管道、网络连接等I/O资源的整数。在C++中,可以使用文件描述符进行文件的读写等操作。以下是一个使用文件描述符进行文件读写的示例:
```c++
#include <iostream>
#include <cstdio>
#include <unistd.h>
#include <fcntl.h>
using namespace std;
int main() {
int fd = open("test.txt", O_RDWR | O_CREAT, 0644);
if (fd < 0) {
perror("open");
return -1;
}
char buf[1024] = "Hello, world!";
int len = strlen(buf);
int n = write(fd, buf, len);
if (n != len) {
perror("write");
return -1;
}
lseek(fd, 0, SEEK_SET);
char buf2[1024];
n = read(fd, buf2, sizeof(buf2));
if (n < 0) {
perror("read");
return -1;
}
buf2[n] = '\0';
cout << buf2 << endl;
close(fd);
return 0;
}
```
在上述代码中,我们使用`open`函数打开了一个名为`test.txt`的文件,并指定了`O_RDWR`和`O_CREAT`标志,表示可读可写并且如果文件不存在则创建。`0644`表示文件权限。如果文件打开失败,`open`函数会返回-1。
接着我们使用`write`函数将字符串`"Hello, world!"`写入文件中,并使用`lseek`函数将文件指针移回文件开头。然后我们使用`read`函数读取文件中的内容,并将读取到的内容打印出来。
最后我们使用`close`函数关闭文件描述符。
阅读全文