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文件

