❶ c語言怎麼把文件中數據讀取並存到數組中
使用for循環語句+文件操作函數即可文件中數據讀取並存到數組中。
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。一般的C語言教程都有文件操作一章,可以找本教材進一步學習。
2、常式:
#include<stdio.h>
inti,a[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//從輸入文件連續讀取整數到數組a
for(;i--;)fscanf(fp2,"%d",a[i]);//把數組a逆序寫入到輸出文件當中
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}
❷ C語言 把文件內容導入數組
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
FILE*fp;
charstrline[50];//讀取文件每行的buffer
intleft[200];
floatright[200];
inti=0,j=0;
if((fp=fopen("z:\1.txt","r"))==NULL)//文件位置和文件名
{
printf("fileopenerror");
return0;
}
while(!feof(fp))//判斷文件是否已到末尾
{
fgets(strline,50,fp);//讀取一行
sscanf(strline,"%d%f",&left[i],&right[i]);//從文件讀取到的一行數據分別存放在兩個數組中
i++;
}
fclose(fp);
while(1)
{
printf(" %d%.3f",left[j],right[j]);
j++;
if(j>=i)
{
break;
}
}
return0;
}
❸ c語言讀取文件然後保存到數組中
c語言讀取文件然後保存到數組中的流程是:
打開文件
根據文件格式循環讀取數據
將數據存入數據
重復2-3,直到文件讀取完畢
關閉文件
下面是示例代碼:
#include<stdio.h>
intmain()
{
ints[5][8];
intnum[]={0,6,5,6};
inti,j;
FILE*fp;
if((fp=fopen("D:\test.txt","r"))==NULL)
{puts("Notest.txt");return0;}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
fscanf(fp,"%d",&s[i][j]);
}
for(i=1;i<=3;i++)
{
for(j=1;j<=num[i];j++)
{
if(j==1)
printf("%c",s[i][j]);
else
printf("%d",s[i][j]);
}
puts("");
}
fclose(fp);
return0;
}
❹ c語言將文件內容讀入數組中
#include<stdio.h>
intmain(intac,char*pav[])
{
if(ac!=2){
printf("程序名要讀取的文件名 ");
printf("test.exe1.txt ");
return0;
}
FILE*fp=fopen(pav[1],"r+");
if(fp==0)
{
printf("failtoopenthefile1! ");
return0;
}
charbuf[256]={0};
while(!feof(fp))//判斷文件是否已結束
{
fgets(buf,256,fp);
}
printf(buf);
return0;
}
❺ 請問如何使用純C語言讀取文件中的圖片,並將圖片存儲在二維數組中
1、使用雙層循環語句,就可以依次把數據順序讀入到一個二維數組當中了。2、常式:#include#include#defineMAXLINE3#defineMAXCOLUMN10voidmain(void){FILE*fp;//文件指針chararr[MAXLINE][MAXCOLUMN]={0};//定義3行10列的二維數組並初始化inti=-1;if((fp=fopen("./test/filename.txt","r"))==NULL){//打開txt文件perror("Fileopenerror!\n");return;}while((fgets(arr[++i],MAXCOLUMN+1,fp))!=NULL)//讀取一行並存到arr數組printf("%d:",i);//列印行號//puts(arr[i]);char*subarr=strtok(arr[i],"");//以空格為分隔符從arr[i]中獲得字串while(subarr!=NULL){data[i][j]=atoi(subarr);//將字串轉為int型數據存入data數組printf("%d\t",data[i][j]);//列印data[i][jsubarr=strtok(NULL,"");//繼續獲得arr[i]中的字串j++;//data數組列加一}printf("\n");}//循環完畢後,所有數據已在data數組中printf("\n");fclose(fp);//關閉指針}