@... 发表于 2019-4-3 11:20:52

C语言如何提取 txt 文档的内容

C语言内创一个二维指针 如何将 TXT 内容赋值给这个指针


19969        192        132        154        233        63        97
19971        96        15        248        5        184        201
19975        160        19        252        98        211        251
19976        194        86        14        9        104        82
19977        0        14        199        145        243        19
19978        128        174        211        133        35        132
19979        32        168        70        216        239        225



这些数据是文档内的一小部分内容

请各位大神指点一下, 用于做 K均值算法 联系

BngThea 发表于 2019-4-3 12:24:44

用文件指针来操作,也可百度搜一下教程

Croper 发表于 2019-4-3 13:25:01

本帖最后由 Croper 于 2019-4-3 17:29 编辑

#include <stdio.h>

const char* filepath="D:\\a.txt";             //文件位置
const int FILE_COUNT_ROW_MAX=1024;            //估计最大行数,尽量往上设
const int FILE_COUNT_COLUMN=7;                        //列数

int main()
{
        FILE *file=fopen(filepath,"r");
        if (file==NULL){
                printf("can't open file: %s",filepath);
                return 0;
        }
       
        int *data;
        int datasize=0;
        int flg_ret;
        do{
                int *tmp=(int*)malloc(sizeof(int)*FILE_COUNT_COLUMN);
                memset(tmp,0,sizeof(int)*FILE_COUNT_COLUMN);
                int i;
                for (i=0;i<FILE_COUNT_COLUMN;++i){
                        flg_ret=fscanf(file,"%d",tmp+i);
                        if (flg_ret==EOF) break;
                }
                if (i!=0){
                        data=tmp;
                }
                else{
                        free(tmp);
                }
        }while (flg_ret!=EOF);
        fclose(file);
       
        //////////////文件读取完毕///////////////////
        int i,j;
        for (i=0;i<datasize;++i){
                for (j=0;j<7;++j){
                        printf("%d\t",data);
                }
                printf("\n");
        }
       
}
页: [1]
查看完整版本: C语言如何提取 txt 文档的内容