dllダイナミックライブラリの開発と呼び出しとファイルの読み書きのためのプログラムを詳しく説明します。


dllダイナミックライブラリの開発と呼び出しとファイルの読み書きのためのプログラムを詳しく説明します。
まず、ダイナミックライブラリの呼び出しを勉強して、まずダイナミックライブラリのdllと.libファイルを見つけて、それを同じレベルのフォルダの下に導入してから、そのヘッダファイルに追加して、プロジェクトのところを右クリックしてリンクをクリックしてください。
Dllは私達の具体的な関数で、libは私達の関数にファイルを説明させます。

#include <stdio.h> 
#include <stdlib.h> 
/* 
                 
*/ 
#pragma warning(disable:4996) 
#define MAX_DATA_LEN 4096 
//        
int FileSymEnc(char * from, char * to); 
 
void main() { 
 
  char * from = "C:/Users/Administrator/Desktop/        .docx"; 
  char * to = "C:/Users/Administrator/Desktop/          .docx"; 
  //              
  int re = FileSymEnc(from, to); 
  if (re == 0) { 
    printf("      !"); 
  } 
  system("pause"); 
} 
 
int FileSymEnc(char * from, char * to) { 
  //   ,       ,-0    ,1     
  int re = 1; 
  //     
  int writtenLen = 0; 
  //      
  int plainlen = 0; 
  //     4k     
  unsigned char * buff = malloc(MAX_DATA_LEN); 
  buff = memset(buff, 0, MAX_DATA_LEN); 
  FILE * f = fopen(from, "rb"); 
  FILE * t = fopen(to, "wb"); 
  if (f == NULL) { 
    printf("       !"); 
    goto END; 
  } 
  if (t == NULL) { 
    printf("       !"); 
    goto END; 
  } 
 
  while (!feof(f)) 
  { 
 
    writtenLen = fread(buff, 1, MAX_DATA_LEN, f); 
    //           ,           
    if (feof(f)) 
    { 
      plainlen = writtenLen; 
      break; 
    } 
 
    if (writtenLen != MAX_DATA_LEN) { 
      //       
      printf("      !"); 
      re = 0; 
      goto END; 
    } 
    //            
    writtenLen = fwrite(buff, 1, MAX_DATA_LEN, t); 
    if (writtenLen != MAX_DATA_LEN) { 
      printf("      !"); 
      re = 0; 
      goto END; 
    } 
  } 
 
  //      4K     ,               ,                 
  writtenLen = fwrite(buff, 1, plainlen, t); 
  if (writtenLen != plainlen) { 
    printf("      !"); 
    re = 0; 
    goto END; 
  } 
 
END: 
  //           
  if (buff != NULL) { 
    free(buff); 
    buff = NULL; 
  } 
  //          
 
  if (f != NULL) { 
    fclose(f); 
    f = NULL; 
  } 
  if (t != NULL) { 
    fclose(t); 
    f = NULL; 
  } 
  return re; 
} 

疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。