It's another part of the assignment.
Most stuff online seems to be giving out that open etc aren't real C, rather than telling me how to use them compared to the others!
I'm working through the code trying to chance them all appropriately.
This is what I have thus far... it compile at least, but doesn't seems to work!
Code:#include <stdio.h> #include <fcntl.h> #define STR(arg) #arg #define BUF_SIZE 80 #define BUF_FORMAT "%80[^\n]s" char buf[BUF_SIZE]; FILE *output, *input, *buffer; /* declarations*/ int i,j,openstatone,openstattwo; int main (int argc, char *argv[]) { if ( argc < 2 ) /* Error message if no Args entered */ { write(1, "\n **************** \n Not enough Arguments Supplied\n ****************\nPlease enter an Output file to append to, followed by any input files\n \n", 142); return 1; } else /*Output file opened or created */ { openstatone = open(argv[1], O_CREAT); } if (openstatone > 0) { if (argc == 2) /*If only one Arg entered*/ { write (1, "No input files appended to Output File.\n", 40); return 0; } else /* start append section */ { i = argc -2; j = 2; while (i > 0) /*Loop through all input files*/ { /*printf ("%s\n", argv[j]);*/ /* Used for Error Checking*/ openstattwo = open(argv[j], O_RDONLY); if (openstattwo > 0) /*Check fopen worked */ { read (argv[j], buf, 160); printf("%s\n", buf); /* Used for Error Checking */ write (argv[1], "%s\n", buf); close(argv[j]); write (1,"SUCCESS! Input File: %s was Successfully appended\n", argv[j], 80); } else { write (1, "FAILURE! Input File: %s Failed to Open or does not exist\n", argv[j], 80); } j ++; i --; } write (1, "\nFiles Appended Successfully\n\n", 80); /*Files Appended Successfully*/ close(argv[1]); return 0; } } else { write (1, "Output file failed to Open", 80); return 1; } }



LinkBack URL
About LinkBacks




