📄 filetest.c
字号:
#include <stdio.h>#include <string.h>#define FILENAME1 "./testfile1"#define FILENAME2 "./testfile2"int main(int argc, const char *argv[]){ FILE *f1, *f2; char buffer[100]; char ch1, ch2; long f1_pos, f2_pos; char filename1[256]; char filename2[256]; strcpy(buffer,"abcdefghijklmnopqrstuvwxyz"); // Command file parameters for path? if (argc == 2) { strcpy(filename1, argv[1]); strcpy(filename2, argv[1]); strcat(filename1, "/"); strcat(filename2, "/"); strcat(filename1, FILENAME1); strcat(filename2, FILENAME2); } else { strcpy(filename1, FILENAME1); strcpy(filename2, FILENAME2); } printf ("File 1 is %s\n", filename1); printf ("File 2 is %s\n", filename2); if (!(f1 = fopen(filename1, "w+"))) { perror ("Couldn't create file - 1.\n"); exit(1); } if (!(f2 = fopen(filename2, "w+"))) { perror ("Couldn't create file - 2.\n"); exit(1); } // Now write some data into the file if ( fwrite(buffer, 1, 26, f1) != 26) { perror ("Couldn't write into test file 1.\n"); exit(1); } // Now copy the data into another file rewind(f1); while (fread(&ch1, 1, 1, f1)) { if (fwrite(&ch1, 1, 1, f2) != 1) { perror ("Couldn't copy file contents.\n"); exit(1); } } // Now compare the 2 files to see if they match rewind(f1); rewind(f2); while ( (fread(&ch1, 1, 1, f1)) && (fread(&ch2, 1, 1, f2)) ) { if (ch1 != ch2) { perror ("File contents don't match.\n"); exit(1); } } // Now check if we are at the end of BOTH the files f1_pos = ftell(f1); f2_pos = ftell(f2); if (f1_pos != f2_pos) { perror("File length of two files doesn't match.\n"); exit(1); } fseek(f1, 0L, SEEK_END); fseek(f2, 0L, SEEK_END); if (f1_pos != ftell(f1)) { perror("File length of two files doesn't match.\n"); exit(1); } if (f2_pos != ftell(f2)) { perror("File length of two files doesn't match.\n"); exit(1); } fclose(f1); fclose(f2); // Test passed printf("File System test passed.\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -