使用for循環(huán)語句+文件操作函數(shù)即可文件中數(shù)據(jù)讀取并存到數(shù)組中。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、永和ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的永和網(wǎng)站制作公司
1、C語言標(biāo)準(zhǔn)庫提供了一系列文件操作函數(shù)。文件操作函數(shù)一般以f+單詞的形式來命名(f是file的簡寫),其聲明位于stdio.h頭文件當(dāng)中。例如:fopen、fclose函數(shù)用于文件打開與關(guān)閉;fscanf、fgets函數(shù)用于文件讀?。籪printf、fputs函數(shù)用于文件寫入;ftell、fseek函數(shù)用于文件操作位置的獲取與設(shè)置。一般的C語言教程都有文件操作一章,可以找本教材進(jìn)一步學(xué)習(xí)。
2、例程:
#includestdio.h
int?i,a[100];
int?main(){
FILE?*?fp1?=?fopen("input.txt",?"r");//打開輸入文件
FILE?*?fp2?=?fopen("output.txt",?"w");//打開輸出文件
if?(fp1==NULL?||?fp2==NULL)?{//若打開文件失敗則退出
puts("不能打開文件!");
rturn?0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//從輸入文件連續(xù)讀取整數(shù)到數(shù)組a
for(;i--;)fscanf(fp2,"%d?",a[i]);//把數(shù)組a逆序?qū)懭氲捷敵鑫募?dāng)中
fclose(fp1);//關(guān)閉輸入文件
fclose(fp2);//關(guān)閉輸出文件,相當(dāng)于保存
return?0;
}
1,文件里的數(shù)據(jù)是不同類型的,既有字符類型的,也有整型的。
2,遇到這種情況,可以按照字符串類型定義數(shù)組。例如,char s[100][4];
3,編寫程序時(shí),一個(gè)一個(gè)字符讀取,遇到空格就完成了一個(gè)數(shù)據(jù)讀取。遇到換行,就換到下一行。
這道題目的關(guān)鍵是把數(shù)據(jù)類型當(dāng)作字符串類型處理。
你看下面的程序中,把文本的內(nèi)容都按照整型數(shù)來讀取,那么當(dāng)然有問題!數(shù)組s的聲明是錯(cuò)誤的!
//你看看是不是要這樣的效果
#includevector
#include"stdio.h"
//子函數(shù)
float yourFunction(float number)
{
return number+5;
}
int main()
{
//個(gè)人推薦使用容器代替動(dòng)態(tài)指針數(shù)組,代碼更安全 簡單;
std::vectorfloatarray;
//循環(huán)時(shí)將函數(shù)返回的值放到vector中
for(int i=0;i10;i++)
{
array.push_back(yourFunction(i));
}
//獲取數(shù)組中的值
for(int i=0;iarray.size();i++)
{
printf("\n%f",array[i]);
}
getchar();
}