⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filetest.c

📁 This is simple sample program to test a File System integrity
💻 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 + -