program bug
- From: "Bill Cunningham" <nospam@xxxxxxxxx>
- Date: Fri, 02 May 2008 21:40:19 GMT
I have looked this program up and down and I don't see what's wrong with
it. But it always breaks and gives me an error "mode error" no matter which
mode binary or text I choose. This simple program is supposed to take as
argv[1] a "b" or "t" for binary or text. It's not taking anything.
#include <stdio.h>
int main(int argc, char **argv) {
char *b;
int a;
FILE *ifp,*ofp;
if (argc!=4) {
fprintf(stderr,"usage error\n");
return -1;
}
if (argv[1]=="b") {
b="rb";
}
if (argv[1]=="t") {
b="rt";
}
if (argv[1]!="t"||argv[1]!="b") {
fprintf(stderr,"mode error\n");
return -1;
}
if ((ifp=fopen(argv[2],b))==0) {
fprintf(stderr,"open error i\n");
return -1;
}
if ((ofp=fopen(argv[3],b))==0) {
fprintf(stderr,"open error o\n");
return -1;
}
while(a!=EOF)
a=fgetc(ifp);
fputc(a,ofp);
printf("done\n");
return 0;}
Is anyone good enough to glance at this and see what's wrong?
Bill
.
- Follow-Ups:
- Re: program bug
- From: Nick Keighley
- Re: program bug
- From: user923005
- Re: program bug
- From: Ian Collins
- Re: program bug
- From: Joe Wright
- Re: program bug
- From: Robert Gamble
- Re: program bug
- From: Bill Cunningham
- Re: program bug
- Prev by Date: Re: Testing the keyboard buffer for MT/Not MT
- Next by Date: Re: help required.
- Previous by thread: Testing the keyboard buffer for MT/Not MT
- Next by thread: Re: program bug
- Index(es):
Relevant Pages
|