fgets() รับค่า string ขนาด ที่เราต้องการได้ไหม?

ขอถามหน่อยนะครับ พอดีผมกำลังฝึกเขียน text file ใน Dev C++
แล้ว ใช้ fgets() ในการรับค่า สตริงอ่ะครับ
#include<stdio.h>
void main()
{
    FILE  *outputitem;
    outputitem = fopen("item.txt","w");
    fprintf(outputitem,"HL-100    Jumbo 485x475x870             1700      25   A\n");
    fprintf(outputitem,"HB-210    Hand 5'' 615x915x860          2700      100  B\n");
    fprintf(outputitem,"ST-120    Jumbo parts bin               1500      70   A\n");
    fprintf(outputitem,"ST-2377   Hot Rolled Steel Coil         680       100  A\n");
    fprintf(outputitem,"AC-005    Hot Rolled Steel Plate        340       50   A\n");
    fprintf(outputitem,"AF-026    Cold Rolled Steel Coil        700       65   B\n");
    fprintf(outputitem,"AF-005    Steel Wire Rod                800       40   B\n");
    fprintf(outputitem,"CC-478    Medium Steel Section          820       10   A\n");
    fclose(outputitem);
    
    
    
    FILE *input,*outA,*outB;
    int amount,price;
    char str[54],storage;      //กำหนดstrยังไงดีครับ?
    input=fopen("item.txt","r");
    outA=fopen("itemA.txt","w");
    outB=fopen("itemB.txt","w");
    fprintf(outA,"List of item A\n");
    fprintf(outA,"==========================\n\n");
    fprintf(outB,"List of item B\n");
    fprintf(outB,"==========================\n\n");
    
    while(!feof(input))
    {
    fgets(str,54,input);       //?
    printf("%s",str);
    
    }    
    fclose(input);
    fclose(outA);
    fclose(outB);
}
พอปริ้นออกมาดู ก็เห็นว่ารับค่า ทั้งบรรทัด แต่ผมอยาก ให้รับค่าแค่ (HL-100    Jumbo 485x475x870             1700      25) พอจะได้ไหมครับ เพื่อที่จะเอา A,B ตัวท้ายไปทำอย่างอื่นต่อไป
ขอครับแนะนำด้วยครับ หัวเราะ
//จะเอาA,B ตัวที่ว่าไปแยกว่าเก็บที่ คลัง AหรือB และแสดงข้อความครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่