Undelivered mail
MAILER%ALASKA.BITNET at CUNYVM.CUNY.EDU
MAILER%ALASKA.BITNET at CUNYVM.CUNY.EDU
Sat Mar 12 21:26:02 AEST 1988
Subject: Re: Don't use Scanf()
[Non-Deliverable: User does not exist or has never logged on]
Reply-To: Info-C at BRL.ARPA
Received: From UWAVM(MAILER) by ALASKA with Jnet id 7390
for SXJVK at ALASKA; Sat, 12 Mar 88 01:57 AST
Received: by UWAVM (Mailer X1.25) id 5026; Sat, 12 Mar 88 02:56:39 PST
Date: Fri, 11 Mar 88 02:36:59 GMT
Reply-To: Info-C at BRL.ARPA
Sender: Info-C List <INFO-C at NDSUVM1>
From: Roland McGrath <rk9005 at cca.ucsf.EDU>
Subject: Re: Don't use Scanf()
Comments: To: info-c at brl-smoke.arpa
To: Vic Kapella <SXJVK at ALASKA>
One real stupidity I've seen many, many times is the
over-use of printf. The printf functions have their uses,
and they do their job quite well, but please know what these
uses are!!
For example:
printf("Hello world!\n");
Haven't you ever heard of puts????
puts("Hello world!"); /* note the newline is appended */
or
printf("hi");
try fputs:
fputs("hi", stdout); /* no newline appended */
What's that? Oh, now you have to include <stdio.h> so
you can get the proper declarations of all these functions anyway?
Poor baby!
And the ultimate stupidity:
printf("\n");
Get a brain!!!!! You're using the function that can do complex
data formatted output to write one bleeping character!!!!!
Try
putchar('\n');
If you include <stdio.h>, this will probably end up being a macro
that will write it out very fast.
I have even seen:
sprintf(buf, "constant string");
Hey, Mr. Power-Programmer, ever heard of strcpy????
In general, if there's no format spec, don't use printf!!!!!!
--
Roland McGrath
ARPA: roland at rtsg.lbl.gov roland at lbl-rtsg.arpa
UUCP: ...!ucbvax!lbl-rtsg.arpa!roland
More information about the Comp.lang.c
mailing list