I've already got some code to read a text file using fscanf()
, and now I need it modified so that fields that were previously whitespace-free need to allow whitespace. The text file is basically in the form of:
title: DATA
title: DATA
etc...
which is basically parsed using fgets(inputLine, 512, inputFile); sscanf(inputLine, "%*s %s", &data);
, reading the DATA fields and ignoring the titles, but now some of the data fields need to allow spaces. I still need to ignore the title and the whitespace immediately after it, but then read in the rest of the line including the whitespace.
Is there anyway to do this with the sscanf()
function?
If not, what is the smallest change I can make to the code to handle the whitespace properly?
UPDATE: I edited the question to replace fscanf() with fgets() + sscanf(), which is what my code is actually using. I didn't really think it was relevant when I first wrote the question which is why I simplified it to fscanf().
scanf
, then you could also previously parse something liketitle: DATA title: DATA
(i.e. all on one line). If you want to allow whitespace in values, then what will be the terminator? If newline, then it seems that your original code was a bit too lax... – Pavel Minaevstr
buffer, and how do you ensure that it does not overflow? – Pavel Minaev