Сегментация ошибки Fgets

int main( int argc, char** argv) {

        FILE *inFilePtr = fopen(*(argv + 1), "r");
        char *rawdata = malloc(sizeof(char) * 100);
        float *ary = malloc(sizeof(float) * 50);
        int counter = 0;
        float averageAns;
        int count = 0;


        while (count < 1 ){
            //fgets(rawdata, 50, inFilePtr); //I have tried both
            fscanf(inFilePtr, "%s", rawdata);
            *(ary + counter) = atof(strtok(rawdata, ","));
             counter++;
            *(ary + counter ) = atof(strtok(rawdata, NULL));
            counter++;
            *(ary + counter) = atof(strtok(rawdata, NULL));
             counter++;
            count++;
        }

Я не могу понять, почему я продолжаю получать ошибку сегмента. Это вызовет ошибку даже без цикла (счетчик <1 должен был просто посмотреть, смогу ли я сделать это один раз).

Это не будет работать с fgets (), fscanf (). Это вызывает ошибки, когда я изменяю поток в fgets на (stdin), и я упоминаю об этом, потому что я предполагал, что файл * был проблемой, но теперь я не думаю, что это так. Я сделал разделитель в моем файле данных "" и ",".

Если кто-нибудь знает, что я сделал неправильно, я был бы признателен.

Ответы на вопрос(2)

Ваш ответ на вопрос