當前位置:首頁 » 編程語言 » c語言文件

c語言文件

發布時間: 2022-01-10 21:32:41

c語言中文件的概念是什麼

頭文件是你程序中需要用到東西,如需要某個數學函數,
則必須包括數學相關頭文件,如math.h,當然,也可以自己寫函數,只要你不怕麻煩!
頭文件是你程序中需要用到東西,如需要某個數學函數,
則必須包括數學相關頭文件,如math.h,當然,也可以自己寫函數,只要你不怕麻煩! 頭文件就是在你所編制的程序運行時要用到的文件!
如 math.h 和 stdio.h
頭文件就是在你所編制的程序運行時要用到的文件!
如 math.h 和 stdio.h
頭文件就是在你所編制的程序運行時要用到的文件!
如 math.h 和 stdio.h

㈡ c語言文件

從這里fp=fopen(filename,"w");

可以看出,你是以寫的方式打開文件,這個時候,如果在你的默認目錄中,有filename相同的文件,則直接打開它,不用創建

如果,你的默認目錄中,沒有filename文件,則系統自動創建一個。不用程序員手動創建

㈢ C語言文件

這個程序的流程是:
1.以「二進制寫」方式打開一個文件,如果打開失敗,則拋出異常並結束程序,如果打開成功則將一個已經初始化的double型數組以二進制方式寫入這個文件
2.關閉文件
3.再以「二進制讀」方式打開這個文件,如果打開失敗,則拋出異常並結束程序,如果打開成功則進行下一步
4.要求用戶不斷輸入一個索引值,比如用戶想獲得數組中第i個元素的值,就輸入整數i
5.通過文件指針的移動在文件中找到存儲這個值的位置,並存儲在一個預定義的緩存中,最後列印在屏幕上
6.直到用戶輸入的索引值超出數組下標范圍,循環結束,關閉文件,程序運行結束

具體的代碼注釋見下面:
#include <stdio.h>
#include <stdlib.h>
#define ARSIZE 1000

int main()
{
double numbers[ARSIZE];
double value;
const char * file = "numbers.dat";//定義常字元指針代表將要操作的文件numbers.dat
int i;
long pos;
FILE *iofile;

// 以下語句是將數組numbers[1000]的所有元素初始化為一個double型數值
for(i = 0; i < ARSIZE; i++)
numbers[i] = 100.0 * i + 1.0 / (i + 1);
// 文件指針iofile以「二進制寫」的方式打開一個文件,以下語句判斷是否打開成功,是則程序繼續執行,否則程序異常結束
if ((iofile = fopen(file, "wb")) == NULL)
{
fprintf(stderr, "Could not open %s for output.\n", file);
exit(1);
}
// 將已經初始化的double型數組numbers[1000]以二進制方式寫入文件numbers.dat,fwrite()的四個參數分別為:數據源數組指針,每次寫入數據塊位元組數,寫入數據塊數,文件指針
fwrite(numbers, sizeof (double), ARSIZE, iofile);
//關閉文件指針
fclose(iofile);
//再次打開文件,但方式變為「二進制讀」,同樣判斷是否打開成功
if ((iofile = fopen(file, "rb")) == NULL)
{
fprintf(stderr,
"Could not open %s for random access.\n", file);
exit(1);
}
// 請求用戶從鍵盤輸入一個整數i作為索引
printf("Enter an index in the range 0-%d.\n", ARSIZE - 1);
scanf("%d", &i);
//根據i值搜索整個文件,找到和用戶輸入的索引相對應的數值,循環直到用戶輸入的索引值超出數組下標范圍時結束
while (i >= 0 && i < ARSIZE)
{
pos = (long) i * sizeof(double); // 通過用戶輸入的索引值計算對應數組中的值在文件中的偏移量
fseek(iofile, pos, SEEK_SET); // fseek()函數用於移動文件指針,三個參數分別為:文件指針名,移動的偏移量,移動前文件指針的位置(SEEK_SET為文件頭位置)
fread(&value, sizeof (double), 1, iofile);//fread()函數用於讀入文件中指定位置的內容到緩存,四個參數分別為:存儲讀入內容的緩存首地址,每次讀入塊的位元組數,讀入塊數,文件指針
printf("The value there is %f.\n", value);//value即為讀入的double值,將其輸出
printf("Next index (out of range to quit):\n");
scanf("%d", &i);
}
// finish up
fclose(iofile);//關閉文件
puts("Bye!");

return 0;
}

㈣ C語言中文件指的是什麼

文件夾內的所有東西都是文件,不管有沒有後綴。
不是說文件夾內的所有文件代表一個文件,而是說沒一個文件都是一個文件……(真拗口)嘛……反正單個的東西就是一個文件

㈤ C語言文件

這個程序的目的是將 test.txt 里的內容寫入 test1.txt 文件中,所以需要定義兩個指針,一個用於讀文件,另一個用於寫文件。

望採納!

㈥ c語言中文件

估計是你程序中其他地方存在邏輯錯誤.給你一個我寫的例子:
#include<stdio.h>
#define N 5

struct student
{
int num;
char name[20];
int course[3];
float ave;
};

void main(void)
{
int i,j;
FILE *fp;
struct student st[N];
for(i=0;i<N;i++)
{
printf("student %d:\n",i+1);
printf("num:");
scanf("%d",&st[i].num);
printf("name:");
scanf("%s",st[i].name);
st[i].ave=0.0;
for(j=0;j<3;j++)
{
printf("course %d:",j+1);
scanf("%d",&(st[i].course[j]));
st[i].ave+=st[i].course[j];
}
st[i].ave/=3;
}
for(i=0;i<5;i++)
{
printf("student %d:\n",i+1);
printf("num:");
printf("%d\n",st[i].num);
printf("name:");
printf("%s\n",st[i].name);
for(j=0;j<3;j++)
{
printf("course %d:",j+1);
printf("%d\n",(st[i].course[j]));
}
printf("ave=%f\n",st[i].ave);
}
if((fp=fopen("stud","wb"))==NULL)
{
printf("FILE OPEN ERROR!\n");
exit(0);
}
for(i=0;i<5;i++)
{
if(fwrite(&st[i],sizeof(struct student),1,fp)!=1)
{
printf("FILE WRITE ERROR!");
exit(0);
}
}
fclose(fp);
}

㈦ C語言文件是啥

用Vc編寫程序時所編寫的和程序所調用的庫文件都是C語言的文件

㈧ C語言 文件

只看了一下排序的部分。如下:
for(i=0;i<(*aa)-1;i++)
for(j=i+1;j<(*aa);j++)
if(((head+i)->stunumber)>((head+j)->stunumber))
{
//這里僅僅把stunumber;進行了交換
//應該把學生的所有屬性都進行交換(stunumber,studentname,chinese,math,sum)
//next不是學生的屬性,不需要交換
}

㈨ C語言:文件

#include"stdio.h"
#include"ISaver.h"
intmain(intargc,char*argv[]){
FILE*fpi,*fpo;
ints[100],n,t,i,k;
doubleave;
fpi=fopen("dat1.dat","r");
if(!fpi||(fpo=fopen("dat6.dat","w"))==NULL){
printf("Failedtoopenthefile,exit... ");
return0;
}
for(k=i=0;i<100;i++){//讀入數據並輸出
fscanf(fpi,"%d",s+i);
printf(++k%10?"%4d":"%4d ",s[i]);
}
fclose(fpi);
printf(" Theaverageare%g ",ave=isaver(s,100));//求平均值並輸出
for(k=i=0;i<100;i++)//把小於平均值的數據...
if(ave>s[i]){
printf(++k%10?"%4d":"%4d ",s[i]);//輸出到屏幕
fprintf(fpo,"%d",s[i]);//同時輸出到文件dat6.dat
}
fclose(fpo);
if(k%10)
printf(" ");
return0;
}

ISaver.h文件

熱點內容
安卓上哪裡下大型游戲 發布:2024-12-23 15:10:58 瀏覽:189
明日之後目前適用於什麼配置 發布:2024-12-23 14:56:09 瀏覽:56
php全形半形 發布:2024-12-23 14:55:17 瀏覽:829
手機上傳助手 發布:2024-12-23 14:55:14 瀏覽:733
什麼樣的主機配置吃雞開全效 發布:2024-12-23 14:55:13 瀏覽:831
安卓我的世界114版本有什麼 發布:2024-12-23 14:42:17 瀏覽:711
vbox源碼 發布:2024-12-23 14:41:32 瀏覽:279
詩經是怎麼存儲 發布:2024-12-23 14:41:29 瀏覽:661
屏蔽視頻廣告腳本 發布:2024-12-23 14:41:24 瀏覽:420
php解析pdf 發布:2024-12-23 14:40:01 瀏覽:821