当前位置:首页 » 编程语言 » 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