cosa c'è che non va?
se capisco provvedo....cque mi serve davvero una mano grazie mille....
fa i controlli sulla stringa utente da tastiera e poi punta al file....mentre io vorrei fare un'assegnazione diretta al file (dato che il mio processore non puo' fare scelte autonomamente)
vi posto il codice a cui mi riferisco:
/* Open the input file. */
if (file_index < argc) {
if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) {
fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]);
exit(EXIT_FAILURE);
}
} else {
/* default input file is stdin */
input_file = read_stdin();
}
/* Open the output file. */
if (outfilename != NULL) {
if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) {
fprintf(stderr, "%s: can't open %s\n", progname, outfilename);
exit(EXIT_FAILURE);
}
} else {
/* default output file is stdout */
output_file = write_stdout();
}
ove in un altro file sono state definite le void:
GLOBAL(FILE *)
read_stdin (void)
{
FILE * input_file = stdin;
#ifdef USE_SETMODE /* need to hack file mode? */
setmode(fileno(stdin), O_BINARY);
#endif
#ifdef USE_FDOPEN /* need to re-open in binary mode? */
if ((input_file = fdopen(fileno(stdin), READ_BINARY)) == NULL) {
fprintf(stderr, "Cannot reopen stdin\n");
exit(EXIT_FAILURE);
}
#endif
return input_file;
}
GLOBAL(FILE *)
write_stdout (void)
{
FILE * output_file = stdout;
per fargli aprire ad esempio c:/home/image.bmp cosa devo modificare?
dargli un'assegnazione di tipo argv[file_index] = c:/home/image.bmp ?
oppure devo modificare qualcosa a livelli di stdin dato che lui legge da tastiera la stringa col nome file mentre io punto al file su disco?
Spero di essere stato chiaro
grazie mille