// 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); }
// 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); }