read file line by line and store in array c code example

Example: c read lines from text file in to array

FILE *fp;        // pointer to file
    char *file_name; // file path
    char cur_char;
    char *line = NULL; // line array
    size_t len = 0;
    ssize_t read;
    int counter = 0;

    //char content[MAX_NUM_LINES][MAX_LINE_LENGTH];
    char strArray[150][150];
    if (optarg == 0)
    {
        printf("File could not be opened.");
        return;
    }
    // has file argument
    fp = fopen(optarg, "r");

    if (fp != NULL)
    {

        while ((read = getline(&line, &len, fp)) != -1) // loop thru lines and add them to the strArray
        {
            // fgets(line, 100, fp);
            int i = 0;
            while(line[i] != '\n'){ // loop thru the characters in the current line
                strArray[counter][i] = line[i];
                i++;
            }
            
            counter++;//counts the number of lines in the file
         
        }
        }

Tags:

C Example