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;

}