What do I do wrong?
Jonathan I. Kamens
jik at athena.mit.edu
Fri Dec 14 07:51:32 AEST 1990
(Note the Followup-To. This is not a wizard-level question, by any stretch
of the imagination.)
In article <1990Dec13.023035.19793 at IRO.UMontreal.CA>, quennevi at IRO.UMontreal.CA (Charles Quenneville) writes:
|> #include <pwd.h>
|> #include <stdio.h>
|>
|> main ()
|> {
|> struct passwd *pwd;
|> struct passwd *getpwent();
|>
|> setpwent("/etc/passwd");
This should either be
setpwent();
or
setpwfile("/etc/passwd");
setpwent();
Although your program will work the way you have it, it's still wrong.
|> while ((pwd = getpwent()) != 0)
|> {
|> printf("\n", pwd->pw_name);
This should be
printf ("%s\n", pwd->pw_name);
This is the bug that's causing your program to fail.
|> fflush(stdout);
This is unnecessary, as long as your stdout is line-buffered, and it almost
certainly is. Once again, your program will work with this line, but you
probably don't need it.
|> }
|> endpwent("/etc/passwd");
This should be
endpwent();
Once again, not a required change, but it's still wrong the way you have it.
|> }
\begin{small-simmering-flame}
Don't you think that all of these problems are just a bit too basic for you to
be asking the entire Usenet about them? Isn't there anybody at your site with
whom you could have consulted before sending a message to the entire net?
\end{small-simmering-flame}
--
Jonathan Kamens USnail:
MIT Project Athena 11 Ashford Terrace
jik at Athena.MIT.EDU Allston, MA 02134
Office: 617-253-8085 Home: 617-782-0710
More information about the Comp.unix.programmer
mailing list