I have the following code and if I try to redirect it to a file, no prompts are output. It redirects both the prompt and the resultant output to my file.
Is there a way to have it output prompts to stdout and then the output to the file?
/*prints chars in rows and columns*/
#include <stdio.h>
void display(char cr, int lines, int width); /*prototypes are fun*/
int main(void) {
int ch; /*char to be printed*/
int rows, cols; /*number of rows and columns*/
printf("Enter a character and two integers.\n");
while((ch = getchar()) != '\n') {
if(scanf("%d %d", &rows, &cols) != 2) {
break;
}
display(ch, rows, cols);
while(getchar() != '\n') {
continue;
}
printf("Enter another character and two integers. Newline quits.\n");
}
return 0;
}
void display(char cr, int lines, int width) {
int row, col;
for(row = 1; row <= lines; row++) {
for(col = 1; col <= width; col++) {
putchar(cr);
}
putchar('\n');
}
}
teecommand.tee?program | tee > outfiledoes not work nor doesprogram | tee outfileteewon't solve your problem, because it won't send part of the output to the file and part to stdout. Use William's idea of printing the prompts to stderr, or my answer below printing the other output to a file.