wtm@bunker.UUCP (William T. McGarry) (08/13/85)
< Why does printf insist that data->ut_line is a null string while < putchar can display all of the characters of this array? < < Sorry if this is a trivial question, but it beats the hell < out of me. The problem with this program is the way in which "data" is defined and used: struct utmp *data; This only defines that "data" is to be a pointer to a structure with the format of "utmp". It does not allocate any space for the structure itself. You have to either: 1. Do a malloc right after the open the file - data = (struct utmp *) malloc(sizeof(struct utmp)); 2. Since "utmp" is such a small structure, a malloc is problably not even needed. Instead, write it like this: struct utmp data; which does allocate space for the structure. In this case, the "fread" call should read into "&data" rather than "data" and all of the lines such as "data->ut_line" should be changed to "data.ut_line" and change all of the lines from "utmp->ut_line" to "utmp.ut_line" and the "fread" call should read into "&data". Both of these methods work fine on my Fortune 32:16. Hope this helps! Bill McGarry decvax!ittatc!bunker!wtm