2014-02-17 5 views
0

Я начинаю, и мне нужно написать программу, которая читает столбец из файла. Я бросаю то, что мне удалось написать. Я не знаю, что делать, чтобы загрузить только один выбранный столбец. И что делать с размером массива.Загрузка столбцов из файла

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> 
#include <stdlib.h> 

int main() 

{ 
    FILE *pr; 
    char fname[100]; 
    int i, n; 


    char tablica[100][100]; 



    printf ("File name\n"); 
    scanf ("%s", &fname); 
    pr = fopen(fname,"r"); 


    if (pr == NULL) 
    { 
    printf ("can't load file\n"); 
    exit(-1); 
    } 

    printf ("column number\n"); 
    scanf ("%d",&i); 
    if (i == NULL) 
    { 
     printf ("no column\n"); 
    } 



    while (!feof(pr)) 
    { 
    fscanf(pr, "%s",&tablica[i]); 
    printf ("%s\n",tablica[i]); 
    } 
    fclose (pr); 
} 
+1

Я не уверен, что речь идет. Вы не говорите нам, какова ваша точная проблема :)? Что делает этот текущий код неправильным? –

+0

Можете ли вы показать нам пример файла? –

+0

, так что вы хотите правильно сосчитать столбцы в файле? –

ответ

0

загрузка файла не так, как scanf ("%s", &fname); считывает имя файла в адрес адрес fname который является неправильным.

Попробуйте проездом базовый адрес массива символов fname как, scanf ("%s", fname);

Смежные вопросы