05.文件操作

文件复制

// 有三种方式
// 如果换成 "rb","wb",可以读取和写入二进制文件(类似视频文件)
int main(char argc, char* argv) {
    char filename[] = "E:\\gx\\gm\\test.txt";
    char filename2[] = "E:\\gx\\gm\\test2.txt";
    FILE* file = fopen(filename, "r");
    if (file == NULL) {
        printf("无法打开文件");
        return 1;
    }
    FILE* file2 = fopen(filename2, "w");
    char line[256];

    // fgets 不适合复制二进制文件
    while (fgets(line, sizeof(line), file) != NULL) {
     fputs(line, file2);
    }

    //while (!feof(file)) {
    //  size_t count = fread(line, sizeof(char), sizeof(line), file);
    //  fwrite(line, sizeof(char), count, file2);
    //}

    //int ch;
    //while ((ch = fgetc(file)) != EOF) {
    //  fputc(ch, file2);
    //}

    fclose(file);
    fclose(file2);
    return 0;
}

控制游标

int main(char argc,char* argv){
    FILE* file = fopen(filename2, "r");
    //rewind(file); // 将游标放到文件开头
    //fseek(file,0,SEEK_SET); // 也是将游标放到开头
    //fseek(file,0,SEEK_END); //将游标放到结尾,一般结合ftell(file)获取文件大小。
    //ftell函数获取当前文件指针的位置(根据字节)
}

删除文件

int main(char argc, char* argv) {
    char filename[] = "E:\\gx\\gm\\12.mp4";
    remove(filename); // 删除文件
    return 0;
}

移动文件(重命名文件)

int main(char argc, char* argv) {
    char filename[] = "E:\\gx\\gm\\11.mp4";
    char filename2[] = "E:\\gx\\gm\\12.mp4";
    if (rename(filename, filename2) == 0) {
        // 返回值0,表示成功
        printf("成功");
    }
    else {
        printf("失败");
    }
    return 0;
}
posted @ 2024-11-20 21:54  zzj1118  阅读(2)  评论(0)    收藏  举报