это не самый чистый, но я так и сделал для проекта.По сути, вместо того, чтобы иметь пробел в отформатированной строке, он занимает до двух пробелов (вы можете изменить его, чтобы он также работал с вкладками или чем-то еще).Если есть только один пробел, то второй символ все еще равен нулю, а если он не равен нулю, то он был перезаписан.
Поэтому я бы изменил:
sscanf(text, "%s %s", name, company);
на:
char space[2] = "\0\0"
sscanf(text, "%s%2[ ]%s", name, space, company);
if(space[1] != '\0') {
//there was an extra space, handle it however
}