C语言文件02_木仙子的博客-程序员宅基地

技术标签: C语言  c语言  开发语言  

重定向

描述

C 库函数 FILE *freopen(const char *filename, const char *mode, FILE *stream) 把一个新的文件名 filename 与给定的打开的流 stream 关联,同时关闭流中的旧文件。

声明

FILE *freopen(const char *filename, const char *mode, FILE *stream)

参数

  • filename – 这是 C 字符串,包含了要打开的文件名称。
  • mode – 这是 C 字符串,包含了文件访问模式,模式如下:
模式 描述
“r” 打开一个用于读取的文件。该文件必须存在。
“w” 创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。
“a” 追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。
“r+” 打开一个用于更新的文件,可读取也可写入。该文件必须存在。
“w+” 创建一个用于读写的空文件。
“a+” 打开一个用于读取和追加的文件。
  • stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了要被重新打开的流。

例子

#include<stdio.h>

int main()
{
    
	FILE *fp = freopen("stdout.txt", "w", stdout);
	if(fp == NULL)
	{
    
		printf("freopen failed\n");
	}
	puts("a");
	puts("b");
	fclose(stdout);
	puts("c");
	puts("d");
	freopen("CON", "w", stdout);
	puts("1");
	puts("2");
	fclose(fp);
	return 0;
}

标准库函数fseek()

描述

C 库函数 int fseek(FILE *stream, long int offset, int whence) 设置流 stream 的文件位置为给定的偏移 offset,参数 offset 意味着从给定的 whence 位置查找的字节数。

声明

int fseek(FILE *stream, long int offset, int whence)

参数

  • stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
  • offset – 这是相对 whence 的偏移量,以字节为单位。
  • whence – 这是表示开始添加偏移 offset 的位置。它一般指定为下列常量之一:
常量 描述
SEEK_SET 文件的开头
SEEK_CUR 文件指针的当前位置
SEEK_END 文件的末尾

返回值

如果成功,则该函数返回零,否则返回非零值。

例子

#include<stdio.h>

typedef struct info
{
    
	int id;
	char name[20];
	float money;
}Emp;

Emp emps[4] = {
    {
    2208, "zhangsan", 10000},
			   {
    2107, "lisi", 12000},
			   {
    2109, "wangwu", 13000},
			   {
    2003, "xiaoming", 15000}};
			   
int main()
{
    
	int i;
	FILE *fp = fopen("./1.txt", "w+");
	for(i = 0; i < 4; i++)
	{
    
		fprintf(fp, "%d %s %f\n", emps[i].id, emps[i].name, emps[i].money);
	}
	fseek(fp, -23, SEEK_END);
	fputs("wangming", fp);
	fseek(fp, -42, SEEK_END);
	fputs("15000", fp);  
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45293654/article/details/126960251

智能推荐

【Selenium-WebDriver自学】Selenium-IDE_longfei_2010的博客-程序员宅基地

学习参考资料:http://www.yiibai.com/selenium/selenium_download_ide.html Selenium的IDE(集成开发环境)是一个易于使用的Firefox插件,用于开发Selenium测试案例。它提供了一个图形用户界面,用于记录使用Firefox浏览器,用来学习和使用Selenium用户操作,但它只能用于只用Firefox浏览器不支持其...

linux内核调试环境搭建步骤_linux2.6 内核调试_bamboolsu的博客-程序员宅基地

linux内核调试环境搭建步骤linux 2.6.26 与其后的版本,其内置已经支持kgdb了。下面的内容描述了怎样在Linux环境下,搭建虚拟机调试linux内核的主要步骤:我的环境是Ubuntu10.4+VirtualBox(linux2.6.32.16内核源码)。一、安装VirtualBox以及目标机Linux这里目标机用来做测试环境,根据具体开发需要,可

子网划分实例_Emotionalx*的博客-程序员宅基地

 实例:1、现有一个A类地址10.0.0.0/8 ,要在其中划分32个子网,分配给国内32个省份使用。1)子网netmask 8+5=13                                                         #划分32个子网,则2^N&amp;gt;=32,可以得到N&amp;gt;=5,所以需要占用主机ID位5位     255.11111000....

CVPR2019|用于语义分割的结构化知识蒸馏_语义分割知识蒸馏_一路狂奔的猪的博客-程序员宅基地

论文标题:Structured Knowledge Distillation for Semantic Segmentation论文地址:https://arxiv.org/abs/1903.04197这是一篇CVPR2019做语义分割任务的文章,在训练好的大的分割模型上运用知识蒸馏的算法,使得比较小的模型也能提高语义分割的性能。从上图可以看到,本论文提出的方法能够在不增加参数量...

计算机毕业设计选题\开题\项目\论文\答辩一套玩转毕业设计_uniapp答辩_高校知识店铺合集汇总的博客-程序员宅基地

一、毕业设计整体流程介绍二、毕业设计选题方式三、毕业设计时间安排与选题技巧1、时间安排根据往年毕设辅导对同学们的了解毕设项目加上论文一般需要花费三到七个月左右时间,基础差的同学应尽量提前准备2、 毕设选题的时候同学们要尽量从如下方向出发1)自身所学知识2)选题背景和意义选题背景可以理解为研究目的 , 选择了一项研究到底要达到什么目的, 这是研究者首先需要明确的目标 , 通常选题意义或研究目的可从以下几个方面来看 :1. 现实意义2. 理论价值3

随便推点

相关系数_相关系数与相似系数_weixin_43249938的博客-程序员宅基地

结论:在数据标准化之后,欧式距离、Pearson相关系数、Cosine相似度可认为是等价的。一、欧几里得距离作用:m维空间中两个点之间的真是距离,或者向量的自然长度两个n维向量x与y间的欧式距离:D=∑k=1n(xi−yi)2 D=\sqrt{\sum_{k=1}^n{(xi-yi)^2}} D=k=1∑n​(xi−yi)2​向量运算形式:D=(a−b)(a−b)T D=\sqrt...

中国安全技术防范行业协会:安防行业估值和全球龙头企业_移动安防 估值收购_「已注销」的博客-程序员宅基地

行业综合财务分析和估值方法智能安防属于智能家居产业链中的重要一环。图 智能家居行业综合财务分析资料来源:千际投行 资产信息网 iFinD以智能家居行业为例,智能安防行业估值方法可以选择市盈率估值法、PEG估值法、市净率估值法、市现率、P/S市销率估值法、EV / Sales市售率估值法、RNAV重估净资产估值法、EV/EBITDA估值法、DDM估值法、DCF现金流折现估值法、NAV净资产价值估值法等。行业发展和价格驱动机制及风险管理从设备供应市场占比来看,家庭安防也是当前智

【论文】中文论文翻译英文论文_Lydia.na的博客-程序员宅基地

最近在写论文,中文版的写好了就差翻译为英文的。下面介绍一下我翻译的过程。

推荐文章

热门文章

相关标签