我有一个名为pedidos.txt的txt文件,它的打印方式如下:
fprintf(pf,"%03d%-30s%03d\n",pedido[i].nro_orden,pedido[i].desc,pedido[i].cantidad);
001Alpargatas 050
002Zapatillas Nike 020
003Calzones 040
004Medias levis 025
005Chomba Adidas 030
我的结构是
int nro_orden;
char desc[30];
int cantidad;
我正在尝试以这种方式阅读它:
t_pedido pedido[5];
char string[38];
while(fgets(string,sizeof(string),pf))
{
sscanf(string,"%03d%30s%03d",&pedido[i].nro_orden,pedido[i].desc,&pedido[i].cantidad);
}
它第一次读取时显示为ok,但是第二次读取“ Zapatillas Nike”时仅读取Zapatillas(以空白结尾):
string = "002Zapatillas Nike",''<repeats 15 times>, "020\n"
pedido[i].nro_orden 2
pedido[i].desc "Zapatillas\000\...."
pedido[i].cantidad 19994115616
有帮助吗?