Después de realizar los cambios que mencionaba, llego a esto:
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
int main(void){
char entrada[1001*11*101];
/*Asi tenemos el tamano maximo:
1001 por las 1000 posibles lineas, mas la primera
11 por el tamano maximo del numero (1 + 9 ceros), mas el espacio o salto de linea siguiente
101 por el numero de numeros por linea, mas el primero
*/
char *ult=entrada;
char cantidadstr[10];
int i,j,k = 0;
int res;
//poniendo ese print ahi arriba, ese me lo muestra, por tanto, el fallo esta en el puntero de debajo de esta linea
while (*ult != "\0"){
if(*ult == "\n"){
if(i != 0){
}
i++;
j = 0;
}
else if(i != 0){
if(*ult == " "){
j++;
k=0;
//Este es el otro cambio que hablaba
cantidadstr[10] = '\0';
}
else if(j != 0){
cantidadstr[k] = *ult;
}
}
k++;
*ult++;
}
return 0;
}
He marcado el lugar donde deja de funcionar. Me imagino que me hace falta entender un poco mejor los punteros, pero si no es con ejemplos y a golpes, no lo consigo...