用c语言写一个文件管理系统
时间: 2023-11-17 08:06:06 浏览: 85
c语言的一个管理系统
好的,我可以为您提供一个简单的文件管理系统,使用C语言编写。这个文件管理系统可以实现创建、删除、重命名、打开和关闭文件等基本操作。
以下是代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义文件结构体
typedef struct {
char name[20];
int size;
} File;
// 定义文件系统结构体
typedef struct {
File files[50];
int count;
} FileSystem;
// 创建文件
void createFile(FileSystem *fs, char *name, int size) {
if (fs->count >= 50) {
printf("文件数量已满!\n");
return;
}
for (int i = 0; i < fs->count; i++) {
if (strcmp(fs->files[i].name, name) == 0) {
printf("文件名已存在!\n");
return;
}
}
File file;
strcpy(file.name, name);
file.size = size;
fs->files[fs->count++] = file;
printf("文件创建成功!\n");
}
// 删除文件
void deleteFile(FileSystem *fs, char *name) {
for (int i = 0; i < fs->count; i++) {
if (strcmp(fs->files[i].name, name) == 0) {
for (int j = i; j < fs->count - 1; j++) {
fs->files[j] = fs->files[j + 1];
}
fs->count--;
printf("文件删除成功!\n");
return;
}
}
printf("文件不存在!\n");
}
// 重命名文件
void renameFile(FileSystem *fs, char *oldName, char *newName) {
for (int i = 0; i < fs->count; i++) {
if (strcmp(fs->files[i].name, oldName) == 0) {
strcpy(fs->files[i].name, newName);
printf("文件重命名成功!\n");
return;
}
}
printf("文件不存在!\n");
}
// 打开文件
void openFile(FileSystem *fs, char *name) {
for (int i = 0; i < fs->count; i++) {
if (strcmp(fs->files[i].name, name) == 0) {
printf("文件已打开!\n");
return;
}
}
printf("文件不存在!\n");
}
// 关闭文件
void closeFile(FileSystem *fs, char *name) {
for (int i = 0; i < fs->count; i++) {
if (strcmp(fs->files[i].name, name) == 0) {
printf("文件已关闭!\n");
return;
}
}
printf("文件不存在!\n");
}
int main() {
FileSystem fs = {0};
char name[20];
int size;
int choice;
while (1) {
printf("\n1. 创建文件\n2. 删除文件\n3. 重命名文件\n4. 打开文件\n5. 关闭文件\n6. 退出\n");
printf("请输入操作选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入文件名和文件大小:");
scanf("%s %d", name, &size);
createFile(&fs, name, size);
break;
case 2:
printf("请输入文件名:");
scanf("%s", name);
deleteFile(&fs, name);
break;
case 3:
printf("请输入原文件名和新文件名:");
scanf("%s %s", name, name + 10);
renameFile(&fs, name, name + 10);
break;
case 4:
printf("请输入文件名:");
scanf("%s", name);
openFile(&fs, name);
break;
case 5:
printf("请输入文件名:");
scanf("%s", name);
closeFile(&fs, name);
break;
case 6:
return 0;
default:
printf("无效的选项!\n");
break;
}
}
return 0;
}
```
以上代码实现了基本的文件管理系统,具有创建、删除、重命名、打开和关闭文件等功能。请根据您的需要进行修改和扩展。
阅读全文