Reading numbers from a text file into an array in C

后端 未结 5 711
囚心锁ツ
囚心锁ツ 2020-11-30 05:00

I\'m a programming noob so please bear with me.

I\'m trying to read numbers from a text file into an array. The text file, \"somenumbers.txt\" simply holds 16 number

5条回答
  •  时光说笑
    2020-11-30 05:09

    5623125698541159 is treated as a single number (out of range of int on most architecture). You need to write numbers in your file as

    5 6 2 3 1 2 5  6 9 8 5 4 1 1 5 9  
    

    for 16 numbers.

    If your file has input

    5,6,2,3,1,2,5,6,9,8,5,4,1,1,5,9 
    

    then change %d specifier in your fscanf to %d,.

      fscanf(myFile, "%d,", &numberArray[i] );  
    

    Here is your full code after few modifications:

    #include 
    #include 
    
    int main(){
    
        FILE *myFile;
        myFile = fopen("somenumbers.txt", "r");
    
        //read file into array
        int numberArray[16];
        int i;
    
        if (myFile == NULL){
            printf("Error Reading File\n");
            exit (0);
        }
    
        for (i = 0; i < 16; i++){
            fscanf(myFile, "%d,", &numberArray[i] );
        }
    
        for (i = 0; i < 16; i++){
            printf("Number is: %d\n\n", numberArray[i]);
        }
    
        fclose(myFile);
    
        return 0;
    }
    

提交回复
热议问题