void secondpart() { char fileName[10],content[50]; int record=-1, count=0, i=0;//record 用来记录文件的编号,编号范围是0-9,-1时还未找到存放位置 system("cls"); re: printf("创建文件\n"); printf("输入文件名(长度不超过10):"); scanf("%s", fileName); if(strlen(fileName)>10) { printf("文件名过长,请重新"); goto re; } for(int i=0;i<10;i++) { if(strcmp(F[i].name, fileName)==0) { printf("该文件名已存在,请重新"); goto re; } if(F[i].pos==-1&&record==-1)//record不为-1时已经找到 { record = i;// 记录文件的编号 } } for(int j=0;j<strlen(fileName);j++) { F[record].name[j]=fileName[j];//把输入的文件名记录下来 }
时间: 2024-01-10 17:02:57 浏览: 253
串数组习题:实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。
这段代码定义了一个函数 `secondpart()`,该函数用于创建文件。
函数首先清空控制台界面,然后定义了一些变量。其中包括文件名 `fileName` 和文件内容 `content`,以及一个记录文件编号的变量 `record`,一个记录文件大小的变量 `count`,和一个循环计数器 `i`。
接着,使用 `goto` 语句实现了一个简单的输入检查,要求文件名长度不超过 10 个字符,并且文件名不能与已有文件重复。如果输入不符合要求,则返回标签 `re` 重新输入。
然后,使用一个循环遍历文件数组 `F`,查找是否有空闲的文件位置,并记录编号到变量 `record` 中。
接下来,使用一个循环将输入的文件名记录到文件数组 `F` 对应位置的 `name` 成员中。
需要注意的是,该函数并没有实现将文件内容写入磁盘的功能,也没有对文件大小进行处理。
阅读全文