c語言文件
㈠ 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文件

