• Advertisement

Archived

This topic is now archived and is closed to further replies.

fscanf

This topic is 5484 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

fscanf( stream2, "%24c", max_elev); The above instruction reads 24 chars into max_elev. How can i specify a variable number of chars to be read ? Something like int numberofchars=24; fscanf(........ ?????
www.web-discovery.net

Share this post


Link to post
Share on other sites
Advertisement
Just to let you know, that doesn't read 24 characters if a whitespace is encountered before the limit. To read a variable number of characters, either do a raw fread to get so many characters, or use basic_istream::get. Set the delimiter to some bogus value and it will read whitespace. If you're not using the C++ library, then fread would be your best bet.

[edited by - Zipster on January 18, 2003 8:27:32 PM]

Share this post


Link to post
Share on other sites
Or you can build the format-string in fscanf dynamically.

  
char format[16];
sprintf(format, "%%%ic", numberofchars);
fscanf(stream2, format, max_elev);

Share this post


Link to post
Share on other sites

  • Advertisement