Firstly open the file using fopen:
FILE* fp = fopen("NAME_OF_FILE.txt", "r"); // "r" stands for reading
Now, check if it opened
if(fp == NULL)                             //If fopen failed
{
    printf("fopen failed to open the file\n");
    exit(-1);                              //Exit program
}
Suppose that these are your arrays to store the line and each data are:
char line[2048];                          //To store the each line
char itemCode[50]; 
char item[50];
double price;
int quantity;                             //Variables to store data
Read the file using fgets. It consumes line by line. Put it in a loop which terminates when fgets returns NULL to scan the whole file line by line. Then extract data from the scanned line using sscanf. It, in this case, will return 4 if successful:
while(fgets(line, sizeof(line), fp) != NULL) //while fgets does not fail to scan a line
{
    if(sscanf(line, "%[^;];%[^;];%lf;%d", itemCode, item, price, quantity) != 4) //If sscanf failed to scan everything from the scanned line
            //%[^;] scans everything until a ';'
            //%lf scans a double
            //%d scans an int
            //Better to use `"%49[^;];%49[^;];%lf;%d"` to prevent buffer overflows
    {     
         printf("Bad line detected\n");
         exit(-1);                          //Exit the program
    }
    printf("ItemCode=%s\n", itemCode);
    printf("Item=%s\n", item);
    printf("price=%f\n", price);
    printf("Quantity=%d\n\n", quantity);    //Print scanned items
}
Finally, close the file using fclose:
fclose(fp);