Una volta distinte le varie righe, per suddividere poi ciascuna riga, come tu vuoi fare, si
potrebbero utilizzare le funzioni
e
(quest'ultima già segnalata da
M.A.W. 1968).
Per assegnare le parti di stringa nelle distinte variabili, userei la funzione
.
Di seguito un mero esempio:
#include <stdio.h>
#include <string.h>
int main() {
const char s[] = "31101B0100 VITE A TESTA CILINDRICA UNI 5931 - M4X10 2";
const char ch = ' ';
char *rit;
int i, j;
char prima[16], seconda[64];
rit = strchr(s, ch);
i = strlen(s) - strlen(rit);
snprintf(prima, i+1,"%s", s);
rit = strrchr(s, ch);
j = strlen(s) - i;
snprintf(seconda, j - strlen(rit), "%s", s + i+1);
/* Verifica dei risultati */
printf("%s\n", prima);
printf("%s\n", seconda);
return (0);
}