how to ignore whitespaces in fscanf()

后端 未结 3 769
暖寄归人
暖寄归人 2021-01-18 08:33

I need to use fscanf to ignore all the white spaces and to not keep it. I tried to use something like the combination between (*) and [^\\n]<

3条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-18 08:39

    Using a space (" ") in the fscanf format causes it to read and discard whitespace on the input until it finds a non-whitespace character, leaving that non-whitespace character on the input as the next character to be read. So you can do things like:

    fscanf(file, " "); // skip whitespace
    getc(file);        // get the non-whitespace character
    fscanf(file, " "); // skip whitespace
    getc(file);        // get the non-whitespace character
    

    or

    fscanf(file, " %c %c", &char1, &char2); // read 2 non-whitespace characters, skipping any whitespace before each
    

    from:

    Ignoring whitepace with fscanf or fgets?

提交回复
热议问题