0

我正在借助fscanf(). 有了fscanf()我就可以从文件中提取矩阵。但我无法找出矩阵的列大小。

输入文件是:
12 3 -4
6 5 7

int main()
{
    char arr[10],len;
    int count=0;

    FILE *input= fopen("input.txt", "r"); 

    while(fscanf(input,"%s",arr) != EOF)
    {   
        //fill into the output matrix. 
    }   
}

但是如何在 的帮助下找出列的大小fscanf

4

2 回答 2

0

根据您的要求getline应该做的。您可以从 strlen 获取您要查找的行的长度。如果每列元素由空格或任何分隔符分隔,您所要做的就是用分隔符分割行并获取单个元素。如有疑问请回复。

于 2012-08-21T07:42:55.220 回答
0

第一次,即使函数 getColumn 尝试读取。

int getColumn(FILE* fp){
    char buff[BUFSIZ]={0};
    int count=0;
    char *p;
    if(NULL==fgets(buff, BUFSIZ, fp))
        return -1;
    rewind(fp);
    for(p=buff;NULL!=strtok(p, " \t\n");p=NULL)
        ++count;
    return count;
}

...
FILE *input= fopen("input.txt", "r");
int column = getColumn(input);//3
于 2012-08-21T10:43:52.630 回答