示例#1
0
// main test of the input from a file
void main(){
  FILE *inFile;
  FILE *outFile;
  inFile = fopen("fileIO.in", "r");
  outFile = fopen("fileIO.out", "w");
  char input[256];
  char output[256];
  
  // can use fscanf, or fgets
  //fscanf(inFile, "%[^\n]\n", input);
  fgets(input, 256, inFile);
  printf("Your file contains: %s", input);
  fgets(output, 256, inFile);
  fclose(inFile);
  
  // change the output as desired
  //output = input;
  allcaps(output);
  //int i;
  //for(i = 0; i < 256; i++){
  //  output[i] = caseup(output[i]);
  //}
  
  // write out the final output
  fprintf(outFile, "%s\n", output);
  fclose(outFile);
}
示例#2
0
// main run of program
void main(){
  // initial variables for cipher
  FILE *inFile;
  FILE *outFile;
  inFile = fopen("caesarCipher.in", "r");
  outFile = fopen("caesarCipher.out", "w");
  int inSize = 256;
  char input[256] = "";
  int outSize = 310;
  char code[310] = "";
  char mode;
  int block = 5;
  int key;

  // set mode to cipher or decipher
  printf("Please type a 'D' to decrypt or leave blank for encrypt: ");
  scanf("%c", &mode);

  // get the key from user for creating cipher
  printf("Please enter the Caesar cipher key: ");
  scanf("%d", &key);
  if(mode == 'd' || mode == 'D')
    key = 26 - key;

  while(fgets(input, inSize, inFile) != NULL){
    // modify code: letters only & all caps
    parseinput(input, inSize, block, code);
    allcaps(code, inSize);

    // perform the Caesar cipher
    int i;
    for(i = 0; i < outSize; i++){
      if(code[i] >= 'A' && code[i] <= 'Z')
        code[i] = ((code[i] - 'A') + key) % 26 + 'A';
    }

    // write code to output
    fprintf(outFile, "%s\n", code);

    // reset strings for next iteration
    memset(&input[0], 0, inSize);
    memset(&code[0], 0, outSize);
  }

  // close files
  fclose(inFile);
  fclose(outFile);

  // print out success
  if(mode == 'd' || mode == 'D')
    printf("Your input is decoded in 'caesarCipher.out utilizing key %d.\n", 26-key);
  else
    printf("Your input is encoded in 'caesarCipher.out'utilizing key %d.\n", key);
}