c语言中从.txt文件中按行读取字符串至数组中,怎么写

可以来设定文件名为in.txt, 存有一系源列整型数据,以空格或换行分隔写。

代码如下:

#includeintmain()

{

intv[100];//开一个足够大的数组。

inti=0,j;

FILE*fp;//文件指针fp=fopen("in.txt","r");//以文本方式打开文件。

if(fp==NULL)//打开文件出错。

return-1;

while(fscanf(fp,"%d",&v[i])!=EOF)//读取数据到数组,直到文件结尾(返回EOF)

i++;

fclose(fp);//关闭文件

for(j=0;j<i;j++)//循环输出数组元素。

{

printf("%d",v[j]);

}

return0;

}

(1)c语言读取txt文件数组扩展阅读

1、字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。

2、如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '' )。

❷ 如何使用C语言从TXT文件中读取如下格式的数据并存储与数组中

1.fopen函数打开需要读取的文本,获取该文件的文件描述符

2.使用fscan()函数对文件进行读取。

3.放到二维数组其实就是读取相应格式的数据,然后对应二维数组的每个位置

例如

#include"stdio.h"
#defineM300
#defineN50

voidmain()
{
inti,j;
floata[M][N]={0};
FILE*fp;
if((fp=fopen("test.txt","rt"))==NULL)
{
printf("cannotopenfile ");
return;
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
fscanf(fp,"%f",&a[i][j]);
fscanf(fp," ");
}
fclose(fp);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%g",a[i][j]);
printf(" ");
}
}

❸ 如何用C语言读取txt文件中的数据到结构体数组中

#include<stdio.h>

#include<stdlib.h>

#defineN10

typedefstruct

{

charwork_ID[5];

charname[20];

charphone_nu[12];

}student;

intmain(intargc,char*argv[])

{

studentst[N];

FILE*fp;

inti;

intcount;

if(argc!=2)

{

fprintf(stderr,"usage:argcisnottwo ");

exit(1);

}

if((fp=fopen(argv[1],"rb"))==NULL)

{

fprintf(stderr,"Can'topenthe%s",argv[1]);

}

for(i=0;i<N;i++)

{

if((fscanf(fp,"%s%s%s",st[i].work_ID,st[i].name,st[i].phone_nu))!=3)

{

break;

}

}

count=i;

//display

printf("theturecountis%d ",count);

for(i=0;i<count;i++)

{

printf("%s %s %s ",st[i].work_ID,st[i].name,st[i].phone_nu);

}

return0;

}

(3)c语言读取txt文件数组扩展阅读

结构体变量作为函数参数和返回值

#include<stdio.h>

structSTU{charname[10];intnum;};

voidf1(structSTUd)//值传递

{

structSTUa={"wwu",2};

d=a;

}

structSTUf2(structSTUd)//值传递,但有返回值

{

structSTUb={"wwu4",4};

d=b;

returnd;

}

voidf3(structSTU*d)//指针传递

{

structSTUc={"wwu6",6};

*d=c;

}

intmain()

{

structSTUa={"wwu1",1},b={"wwu3",2043};

structSTUc={"wwu5",5};

f1(a);b=f2(b);f3(&c);

printf("%d%d%d ",a.num,b.num,c.num);

system("pause");

return0;

}

//输出:146

❹ C语言中如何读取TXT文件中某一列的数据存放到一个一维数组中

你的 3 列 数据文件 读第二列,可用 格式: "%*d %lf %*lf"
程序:
#include<stdio.h>
int main()
{
FILE *fin;
double a[200]; //数组大小要足够
int i,n;
fin=fopen("a.dat","r"); //打开a.dat文件
if (!fin){printf("open error\n"); return 1;}; //打开失败处理
printf("reading ...\n" );
n=0;
while (1){
if ( fscanf(fin,"%*d %lf %*lf",&a[n])==EOF) break; //跳1 int,读1 double, 跳1 double
n++; //数据个数统计
}
fclose(fin); //关闭
for (i=0;i<n;i++) printf("%lf\n",a[i]); //输出读到的数
return 0;
}
每行数据个数 不等 的时候,可以用:
fgets() 一行一行地读 行, 存入 s[2000],用 sscanf() 从s[] 里用格式 "%*d %lf”跳着读。
%*d --跳1个int, %*lf --跳1个double. (非常 复杂的文件结构 可以 用 方括号格式,这里从略)。

❺ 如何使用C语言从TXT文件中读取如下格式的数据并存储与数组中

1.fopen函数打开需要读取的文本,获取该文件的文件描述符
2.使用fscan()函数对文件进行读取。
3.放到二维数组其实就是读取相应格式的数据,然后对应二维数组的每个位置
例如
#include "stdio.h"
#define M 300
#define N 50

void main()
{
int i,j;
float a[M][N]={0};
FILE *fp;
if((fp=fopen("test.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
fscanf(fp,"%f",&a[i][j]);
fscanf(fp,"\n");
}
fclose(fp);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%g ",a[i][j]);
printf("\n");
}
}

❻ c语言逐行读取文件数据并放入数组中

//刚写的下面的代码,测试通过,如果有疑问,欢迎交流
//只要忽略数组的第一个元素的就可以了
//另外需要需要,可以把数组修改为二维数组
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain(){
chartar[10000];
intcur_lib[1000];
char*ch;
FILE*fp=fopen("tar.txt","r");
while(fgets(tar,10000,fp)!=NULL){
ch=strtok(tar,"");
intcur_count=0;
while(ch!=NULL){
cur_lib[cur_count]=atoi(ch);
ch=strtok(NULL,"");
cur_count++;
}
}
fclose(fp);
return0;
}

❼ C语言怎样读取.txt文件(数组的)

FILE *file=fopen("XXX.txt","r");
int b[10],a[2][2]={0};
while(fgets(b,3,file)){
if(sizeof(b)==2){
a[0][0]=b[0]; a[0][1]=b[1];
}
else{
a[1][0]=b[2]; a[1][1]=b[3]; break;
}
}

❽ C语言如何读取TXT文件并存入数组中

一、编程思路。
1 以文本方式打开文件。
2 循环用fscanf格式化输入数据到数组。
3 判断fscanf的返回值,如果显示到达文件结尾,退出输入。
4 关闭文件。
5 使用数据。

二、代码实现。
设定文件名为in.txt, 存有一系列整型数据,以空格或换行分隔。
代码可以写作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#include <stdio.h>
int main()
{
int v[100];//开一个足够大的数组。
int i = 0, j;
FILE *fp;//文件指针
fp = fopen("in.txt", "r");//以文本方式打开文件。
if(fp == NULL) //打开文件出错。
return -1;
while(fscanf(fp, "%d", &v[i]) != EOF) //读取数据到数组,直到文件结尾(返回EOF)
i++;
fclose(fp);//关闭文件
for(j = 0; j < i; j ++)//循环输出数组元素。
{
printf("%d ", v[j]);
}
return 0;
}

当文件内容为:
1 35 6 8 9 9
10 123 34
76 54 98
程序输出:
1 35 6 8 9 9 10 123 34 76 54 98

❾ C语言如何把文本从文件读入到数组中

#include<stdio.h>

#include<string.h>

#define M 100//最大行数

int main()

{

FILE *fp=NULL;

int nums[M],age[M],i=0,n1,n2,len=0;

char name[M][10],str[10];

fp=fopen("c:\test.data","r");

while(fscanf(fp,"%d%s%d",&n1,str,&n2)!=-1)

{

nums[i]=n1;

strcpy(name[i],str);

age[i]=n2;

i++;

len++;

}

for(i=0;i<len;i++)

printf("%d %s %d ",nums[i],name[i],age[i]);

return 0;

}