• C

read numbers from file and assign it to corresponding variables in c

I have a txt file with numbers such as...

4
10
3 23 1 39 48
9 3 92 9 12
etc

the first row represents something, the second number in row two represent something else.
the third row and corresponding number each have it's own functionality

here is what i need to do but can't figure out how in C
int a = (the number in first row, which is 4 in example);
int b = (the number in second row, 10 in example);
int[number of numbers in row 3] c = {in row three - first num, second num, third num...etc} = {3,23,1,39,48};
int[number of numbers in row 4] d = {......}

How can I do this?
LVL 1
shpark82Asked:
Who is Participating?
 
nixfreakConnect With a Mentor Commented:
I hope I haven't misunderstood your question. The below program will read the files contents and put values an array. Instead of the arrays a, b, c, d  you have entry[0], entry[1], entry[2], entry[3] respectively. For example:
c[3] = 39
entry[2][3]=39

#include        <string.h>
#include        <stdlib.h>
#include        <stdio.h>

#define MAXCOL  4096

int
main(int argc, char *argv[])
{
        char    *line;
        int     *entry[MAXCOL];
        char    *token, *ret;
        FILE    *file;

        file = fopen("argv[1]", "r");

        for ( i = 0; ; i++ ) {
                entry[i] = calloc(MAXCOL, sizeof(int));
                if ( fgets(line, MAXCOL, file) == NULL)
                        break;
                token = strtok(line, " ");
                entry[i][0] = atoi(token);
                for ( j = 1; (token = strtok(NULL, " ")) != NULL; j++ )
                        entry[i][j] = atoi(token);
        }

        fclose(file);

        return 0;
}

0
 
Infinity08Commented:
Take a look at fscanf() :

http://www.cplusplus.com/reference/clibrary/cstdio/fscanf.html

Let us know if there is something that is not clear on that page. Don't forget to take a look at the example at the bottom of the page ...
0
 
Infinity08Commented:
nixfreak, please don't post complete code solutions for questions that are very likely homework assignments.

The point of a homework assignment is that you learn something by solving it yourself. If you give the solution, you've robbed shpark82 of that opportunity.

Instead, you are allowed to give hints and pointers whenever and wherever the asker has problems with the assignment.
0
 
Infinity08Commented:
@shpark82 : I would suggest to try to solve this yourself without looking at nixfreak's code. You'll learn a lot more, and gain a lot more satisfaction.
0
 
nixfreakCommented:
Paul,

While I agree with infinity08's advice, I think I did give a correct solution.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.