Text already loaded in memory can be parsed with the same checks as file input.

Parse Buffer

parse_buffer.c
#include <stdio.h>

int main(void) {
    int offset = ;
    char line[40];
    int id = 0;
    int value = 0;

    snprintf(line, sizeof(line), "id=%d value=%d", 7, 20 + offset);
    int fields = sscanf(line, "id=%d value=%d", &id, &value);

    printf("fields=%d id=%d value=%d\n", fields, id, value);
    return 0;
}
#include <stdio.h>

int main(void) {
    int offset = ;
    char line[40];
    int id = 0;
    int value = 0;

    snprintf(line, sizeof(line), "id=%d value=%d", 7, 20 + offset);
    int fields = sscanf(line, "id=%d value=%d", &id, &value);

    printf("fields=%d id=%d value=%d\n", fields, id, value);
    return 0;
}
#include <stdio.h>

int main(void) {
    int offset = ;
    char line[40];
    int id = 0;
    int value = 0;

    snprintf(line, sizeof(line), "id=%d value=%d", 7, 20 + offset);
    int fields = sscanf(line, "id=%d value=%d", &id, &value);

    printf("fields=%d id=%d value=%d\n", fields, id, value);
    return 0;
}
formatted text `snprintf` builds a small line with predictable fields.
parsed fields `sscanf` reports how many fields matched the expected format.