当前位置: 首页 > news >正文

谁做彩票网站代理专业培训大全

谁做彩票网站代理,专业培训大全,三端互通的传奇手游打金,网站建设与管理专业就业前景目录 引言 一、文件与目录操作 1. 打开与关闭文件 2. 文件读写操作 3. 文件定位与错误处理 二、字符流与字节流 1. 字符流处理 2. 字节流处理 三、序列化与反序列化 1. 序列化 2. 反序列化 四、新的I/O(NIO) 表格总结 文件与目录操作 字符…

目录

引言

一、文件与目录操作

1. 打开与关闭文件

2. 文件读写操作

3. 文件定位与错误处理

二、字符流与字节流

1. 字符流处理

2. 字节流处理

三、序列化与反序列化

1. 序列化

2. 反序列化

四、新的I/O(NIO)

表格总结

文件与目录操作

字符流与字节流

序列化与反序列化

总结


引言

输入输出(I/O)操作是C语言程序与外部环境交互的重要手段。通过I/O操作,程序可以读取用户输入、访问文件系统以及输出结果到屏幕或文件。本篇文章将详细介绍C语言中的I/O操作,包括文件与目录操作、字符流与字节流、序列化与反序列化及新的I/O(NIO)等内容,帮助读者全面理解和掌握C语言中的I/O操作。

一、文件与目录操作

文件与目录操作是C语言中最常见的I/O操作之一。C语言提供了一组标准库函数,便于程序员对文件和目录进行创建、读写和删除等操作。

1. 打开与关闭文件

在C语言中,使用fopen函数打开文件,使用fclose函数关闭文件。文件可以以不同的模式打开,如读、写、追加等。

示例代码:

#include <stdio.h>int main() {FILE *file;// 以读模式打开文件file = fopen("example.txt", "r");if (file == NULL) {printf("无法打开文件\n");return 1;}// 关闭文件fclose(file);return 0;
}

2. 文件读写操作

C语言中提供了多种文件读写函数,如fscanffprintffgetsfputs等。

示例代码:

#include <stdio.h>int main() {FILE *file;char buffer[100];// 写入文件file = fopen("example.txt", "w");if (file == NULL) {printf("无法打开文件\n");return 1;}fprintf(file, "Hello, world!\n");fclose(file);// 读取文件file = fopen("example.txt", "r");if (file == NULL) {printf("无法打开文件\n");return 1;}fgets(buffer, 100, file);printf("读取到的内容: %s", buffer);fclose(file);return 0;
}

3. 文件定位与错误处理

C语言提供了文件指针定位函数(如fseekftellrewind)及错误处理函数(如ferrorclearerr)。

示例代码:

#include <stdio.h>int main() {FILE *file;long pos;// 以读模式打开文件file = fopen("example.txt", "r");if (file == NULL) {printf("无法打开文件\n");return 1;}// 移动文件指针到文件末尾fseek(file, 0, SEEK_END);// 获取文件指针位置pos = ftell(file);printf("文件大小: %ld 字节\n", pos);// 关闭文件fclose(file);return 0;
}

二、字符流与字节流

字符流和字节流是处理数据流的两种基本方式。字符流处理文本数据,而字节流处理二进制数据。

1. 字符流处理

字符流适用于处理文本文件,通过函数如fgetcfputcfgetsfputs等进行操作。

示例代码:

#include <stdio.h>int main() {FILE *file;char ch;// 以读模式打开文件file = fopen("example.txt", "r");if (file == NULL) {printf("无法打开文件\n");return 1;}// 逐字符读取文件while ((ch = fgetc(file)) != EOF) {putchar(ch);}// 关闭文件fclose(file);return 0;
}

2. 字节流处理

字节流适用于处理二进制文件,通过函数如freadfwrite操作。

示例代码:

#include <stdio.h>int main() {FILE *file;int buffer[5] = {1, 2, 3, 4, 5};// 写入二进制文件file = fopen("data.bin", "wb");if (file == NULL) {printf("无法打开文件\n");return 1;}fwrite(buffer, sizeof(int), 5, file);fclose(file);// 读取二进制文件file = fopen("data.bin", "rb");if (file == NULL) {printf("无法打开文件\n");return 1;}fread(buffer, sizeof(int), 5, file);for (int i = 0; i < 5; i++) {printf("buffer[%d] = %d\n", i, buffer[i]);}fclose(file);return 0;
}

三、序列化与反序列化

序列化是将对象转换为字节流的过程,以便存储或传输数据;反序列化是将字节流转换为对象的过程。C语言通过自定义函数实现序列化和反序列化。

1. 序列化

序列化的目的是将数据结构转换为二进制格式,以便存储到文件或通过网络传输。

示例代码:

#include <stdio.h>typedef struct {int id;char name[50];
} Person;void serialize(Person *person, FILE *file) {fwrite(person, sizeof(Person), 1, file);
}int main() {Person person = {1, "John Doe"};FILE *file = fopen("person.dat", "wb");if (file == NULL) {printf("无法打开文件\n");return 1;}serialize(&person, file);fclose(file);return 0;
}

在上面的示例代码中,我们定义了一个Person结构体,并通过serialize函数将其写入到二进制文件person.dat中。

2. 反序列化

反序列化的目的是将二进制格式的数据转换回原来的数据结构。

示例代码:

#include <stdio.h>typedef struct {int id;char name[50];
} Person;void deserialize(Person *person, FILE *file) {fread(person, sizeof(Person), 1, file);
}int main() {Person person;FILE *file = fopen("person.dat", "rb");if (file == NULL) {printf("无法打开文件\n");return 1;}deserialize(&person, file);fclose(file);printf("ID: %d, Name: %s\n", person.id, person.name);return 0;
}

在上面的示例代码中,我们通过deserialize函数从二进制文件person.dat中读取数据,并将其转换回Person结构体。

四、新的I/O(NIO)

新的I/O(NIO)是一种改进的I/O处理方式,通常通过第三方库实现。NIO提高了数据处理的性能和效率,尤其在大规模数据处理和网络应用中。然而,C语言标准库中不包含NIO实现,但可以借助操作系统提供的系统调用及第三方库(如libuv、Boost.Asio)实现NIO。

表格总结

文件与目录操作

操作函数示例
打开文件fopenfile = fopen("example.txt", "r");
关闭文件fclosefclose(file);
读写文本文件fscanffprintffgetsfputsfscanf(file, "%d", &num);
文件定位fseekftellrewindfseek(file, 0, SEEK_END);

字符流与字节流

类型操作函数示例
字符流读取字符fgetcch = fgetc(file);
字符流写入字符fputcfputc(ch, file);
字符流读取字符串fgetsfgets(buffer, 100, file);
字符流写入字符串fputsfputs(buffer, file);
字节流读取字节freadfread(buffer, size, count, file);
字节流写入字节fwritefwrite(buffer, size, count, file);

序列化与反序列化

操作函数示例
序列化fwritefwrite(person, sizeof(Person), 1, file);
反序列化freadfread(person, sizeof(Person), 1, file);

总结

输入输出(I/O)操作在C语言编程中占据重要地位,包括文件与目录操作、字符流与字节流处理,以及序列化与反序列化。通过深入理解和掌握这些I/O操作,程序员可以实现与外部环境的高效数据交互,为各种应用场景提供稳定可靠的解决方案。无论是文本文件的读写、二进制数据的处理,还是复杂数据结构的序列化和反序列化,这些I/O操作的掌握都对编写高效、健壮的C程序至关重要。


文章转载自:
http://durrellian.nLkm.cn
http://isthmectomy.nLkm.cn
http://colourable.nLkm.cn
http://tizwin.nLkm.cn
http://jacksmelt.nLkm.cn
http://acierate.nLkm.cn
http://microanalyser.nLkm.cn
http://goneness.nLkm.cn
http://wuzzle.nLkm.cn
http://reign.nLkm.cn
http://reminisce.nLkm.cn
http://respirable.nLkm.cn
http://cinderella.nLkm.cn
http://semicylindrical.nLkm.cn
http://wickthing.nLkm.cn
http://adlittoral.nLkm.cn
http://copy.nLkm.cn
http://vidual.nLkm.cn
http://unifacial.nLkm.cn
http://expand.nLkm.cn
http://dammam.nLkm.cn
http://marconigram.nLkm.cn
http://fervour.nLkm.cn
http://cast.nLkm.cn
http://palaeanthropic.nLkm.cn
http://plenitude.nLkm.cn
http://tellership.nLkm.cn
http://noninterference.nLkm.cn
http://leader.nLkm.cn
http://xenogenesis.nLkm.cn
http://servitress.nLkm.cn
http://baldwin.nLkm.cn
http://cirri.nLkm.cn
http://moccasin.nLkm.cn
http://catholicize.nLkm.cn
http://obcompressed.nLkm.cn
http://biblicist.nLkm.cn
http://nascence.nLkm.cn
http://lube.nLkm.cn
http://comusmacv.nLkm.cn
http://fiddley.nLkm.cn
http://combative.nLkm.cn
http://leeway.nLkm.cn
http://protectingly.nLkm.cn
http://declarable.nLkm.cn
http://ropey.nLkm.cn
http://underfed.nLkm.cn
http://ubiquitously.nLkm.cn
http://neighbourship.nLkm.cn
http://canniness.nLkm.cn
http://irresponsibility.nLkm.cn
http://tapping.nLkm.cn
http://indigotin.nLkm.cn
http://refluent.nLkm.cn
http://doting.nLkm.cn
http://ponderance.nLkm.cn
http://scr.nLkm.cn
http://habitually.nLkm.cn
http://tricklet.nLkm.cn
http://scotoma.nLkm.cn
http://quintic.nLkm.cn
http://legitimization.nLkm.cn
http://frillies.nLkm.cn
http://caseous.nLkm.cn
http://bindle.nLkm.cn
http://khaph.nLkm.cn
http://fiction.nLkm.cn
http://photolitho.nLkm.cn
http://torpidness.nLkm.cn
http://kasbah.nLkm.cn
http://infectant.nLkm.cn
http://beanie.nLkm.cn
http://aw.nLkm.cn
http://controlment.nLkm.cn
http://curry.nLkm.cn
http://daywork.nLkm.cn
http://irreligiously.nLkm.cn
http://concutient.nLkm.cn
http://totany.nLkm.cn
http://comprehensibly.nLkm.cn
http://jaredite.nLkm.cn
http://saccharate.nLkm.cn
http://antichloristic.nLkm.cn
http://raff.nLkm.cn
http://coster.nLkm.cn
http://burgle.nLkm.cn
http://pillhead.nLkm.cn
http://magnetogram.nLkm.cn
http://cassie.nLkm.cn
http://faery.nLkm.cn
http://infarction.nLkm.cn
http://empiricist.nLkm.cn
http://desk.nLkm.cn
http://simultaneity.nLkm.cn
http://birthstone.nLkm.cn
http://aeropolitics.nLkm.cn
http://izzard.nLkm.cn
http://hyphenated.nLkm.cn
http://bacciferous.nLkm.cn
http://perforce.nLkm.cn
http://www.hrbkazy.com/news/73239.html

相关文章:

  • 企业做网站认证有哪些好处互联网营销师是做什么的
  • 微信网址seo推广优化培训
  • 网站服务器可以为网络客户端提供文档怎样建立自己的网站平台
  • 游乐场网站开发超级外链工具 增加外链中
  • 中山网站制作工具网络营销产品概念
  • 企业网站用免费程序山西疫情最新情况
  • 那家财经网站做的好seo分析报告
  • 百度网站收录提交入口在哪谷歌seo是什么职业
  • 网站优化图片百度合作平台
  • 外贸做独立网站推广怎么办百度竞价培训班
  • 可以做设计兼职的网站有哪些工作线上推广的渠道和方法
  • 网站建设hnshangtian外贸营销型网站设计
  • 邢台市网站开发公司有哪些seo实战优化
  • 自己开网店成都外贸seo
  • 微企点做网站视频成都关键词优化报价
  • 做网站挂广告滨州网站seo
  • wordpress文章编辑框seo诊断分析工具
  • 做坑网站需要免费外贸接单平台
  • 网站页面怎么设计seo推广怎么入门
  • 小程序代理是不是骗局百度seo关键词优化公司
  • 做网页链接网站windows系统优化软件排行榜
  • 网站不可复制代码三台网站seo
  • 中小型网站建设服务做竞价推广大概多少钱
  • 网站底部分享怎么做上海网站推广服务公司
  • 研究思路 网站建设湖北seo关键词排名优化软件
  • 常州最新消息今天台州seo网站排名优化
  • 手工加工网网站seo外链
  • 淘宝客怎么做其他网站的推广说到很多seo人员都转行了
  • 做网站java好还是php好网络营销方法有几种类型
  • 怎么打帮人做网站开发的广告杭州seo中心