|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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均值算法 联系
本帖最后由 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[FILE_COUNT_ROW_MAX];
- 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[datasize++]=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[i][j]);
- }
- printf("\n");
- }
-
- }
复制代码
|
|