操作系统文件管理实验代码及效果
时间: 2023-10-02 16:09:54 浏览: 71
操作系统文件管理实验的代码和效果因不同的实验要求和语言而异,下面为您提供一个示例:
文件管理实验要求:
使用 C 语言实现一个简单的文件管理系统,具有以下功能:
1. 创建文件
2. 删除文件
3. 打开文件
4. 关闭文件
5. 读取文件内容
6. 写入文件内容
文件管理实验代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FILE_NUM 100 // 最大文件数
// 文件结构体
typedef struct {
char filename[20]; // 文件名
int flag; // 文件状态:0-未使用,1-已使用
char content[100]; // 文件内容
} File;
int file_num = 0; // 文件数量
File files[MAX_FILE_NUM]; // 文件数组
// 创建文件
void create_file(char *filename) {
if (file_num >= MAX_FILE_NUM) {
printf("文件数量已达到最大值\n");
return;
}
for (int i = 0; i < file_num; i++) {
if (strcmp(files[i].filename, filename) == 0) {
printf("文件名已存在\n");
return;
}
}
strcpy(files[file_num].filename, filename);
files[file_num].flag = 1;
file_num++;
printf("文件创建成功\n");
}
// 删除文件
void delete_file(char *filename) {
for (int i = 0; i < file_num; i++) {
if (strcmp(files[i].filename, filename) == 0) {
files[i].flag = 0;
printf("文件删除成功\n");
return;
}
}
printf("文件不存在\n");
}
// 打开文件
int open_file(char *filename) {
for (int i = 0; i < file_num; i++) {
if (strcmp(files[i].filename, filename) == 0) {
if (files[i].flag == 1) {
printf("文件打开成功\n");
return i;
} else {
printf("文件已被占用\n");
return -1;
}
}
}
printf("文件不存在\n");
return -1;
}
// 关闭文件
void close_file(int index) {
if (index >= 0 && index < file_num) {
files[index].flag = 1;
printf("文件关闭成功\n");
} else {
printf("文件不存在\n");
}
}
// 读取文件内容
void read_file(int index) {
if (index >= 0 && index < file_num) {
printf("文件内容:%s\n", files[index].content);
} else {
printf("文件不存在\n");
}
}
// 写入文件内容
void write_file(int index, char *content) {
if (index >= 0 && index < file_num) {
strcpy(files[index].content, content);
printf("文件写入成功\n");
} else {
printf("文件不存在\n");
}
}
int main() {
create_file("test.txt");
int index = open_file("test.txt");
write_file(index, "Hello, world!");
read_file(index);
close_file(index);
delete_file("test.txt");
return 0;
}
```
文件管理实验效果:
```
文件创建成功
文件打开成功
文件写入成功
文件内容:Hello, world!
文件关闭成功
文件删除成功
```
以上代码为一个简单的文件管理系统,实现了创建、删除、打开、关闭、读取和写入文件的功能。您可以根据具体的实验要求和语言进行修改和完善。