c语言逐行读取文件数据并放入数组中
源文件txt里面的数据格式:idattribute596031563769151111151111111168219157168212612121216161212我想逐...
源文件txt里面的数据格式:
id attribute
59603 15
63769 15 11 11 15 11 11 11 11
68219 15
71682 12 6 12 12 12 16 16 12 12
我想逐行读取放入数组中,并且第一列的数据(id)跳过去将其保存在另外一个文件(out.txt)里,每次读取一个数组我会对其使用函数fun()计算一个值并将其放入out.txt中与其对应的id号后面
行数很多,每行的列数不一定 展开
id attribute
59603 15
63769 15 11 11 15 11 11 11 11
68219 15
71682 12 6 12 12 12 16 16 12 12
我想逐行读取放入数组中,并且第一列的数据(id)跳过去将其保存在另外一个文件(out.txt)里,每次读取一个数组我会对其使用函数fun()计算一个值并将其放入out.txt中与其对应的id号后面
行数很多,每行的列数不一定 展开
2个回答
展开全部
//刚写的下面的代码,测试通过,如果有疑问,欢迎交流
//只要忽略数组的第一个元素的就可以了
//另外需要需要,可以把数组修改为二维数组
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char tar[10000];
int cur_lib[1000];
char *ch;
FILE * fp = fopen("tar.txt", "r");
while(fgets(tar, 10000, fp)!=NULL){
ch = strtok(tar, " ");
int cur_count = 0;
while(ch!=NULL){
cur_lib[cur_count] = atoi(ch);
ch = strtok(NULL, " ");
cur_count++;
}
}
fclose(fp);
return 0;
}
更多追问追答
追问
追答
如果这样话,估计应该是你添加的语句有错误,我刚测试了:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char tar[10000];
int cur_lib[1000];
char *ch;
FILE * fp = fopen("tar.txt", "r");
while(fgets(tar, 10000, fp)!=NULL){
ch = strtok(tar, " ");
int cur_count = 0;
while(ch!=NULL){
cur_lib[cur_count] = atoi(ch);
printf("%d ", cur_lib[cur_count]);
ch = strtok(NULL, " ");
cur_count++;
}
printf("\n");
}
fclose(fp);
return 0;
}
2015-07-23 · 知道合伙人软件行家
关注
展开全部
#include<stdio.h>
int main()
{
FILE *fp;
int i = 0;
char data[100][80];
fp = fopen("1.txt", "r");
if (!fp)
return -1;
while (!feof(fp))
fgets(data[i++], 80, fp);
fclose(fp);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询