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

玉溪市建设厅官方网站网站备案IP与空间

玉溪市建设厅官方网站,网站备案IP与空间,简述网站开发工作流程,shopex网站【图书推荐】《Linux C与C一线开发实践#xff08;第2版#xff09;》_linux c与c一线开发实践pdf-CSDN博客 《Linux C与C一线开发实践#xff08;第2版#xff09;#xff08;Linux技术丛书#xff09;》(朱文伟#xff0c;李建英)【摘要 书评 试读】- 京东图书 Linu…【图书推荐】《Linux C与C一线开发实践第2版》_linux c与c一线开发实践pdf-CSDN博客 《Linux C与C一线开发实践第2版Linux技术丛书》(朱文伟李建英)【摘要 书评 试读】- 京东图书 LinuxC\C编程技术_夏天又到了的博客-CSDN博客 4.9.7  文件位置指针 先复习一下C语言中的文件指针定位函数fseek()其声明如下 int fseek(FILE *fp, LONG offset, int origin) 其中fp是文件指针offset是相对于origin规定的偏移位置量origin是指针移动的起始位置可设置为以下3种情况 SEEK_SET文件开始位置。SEEK_CUR文件当前位置。SEEK_END文件结束位置。 当offset是向文件末尾方向偏移的时候无论偏移量是否超出文件末尾fseek都返回0当偏移量没有超出文件末尾的时候文件指针指向正常的偏移地址当偏移量超出文件末尾的时候文件指针指向文件末尾并不会返回表示偏移出错的-1值。当offset向文件头方向偏移的时候如果偏移量没有超出文件头就是正常偏移文件指针指向正确的偏移地址fseek返回值为0当偏移量超出文件头时fseek返回-1值文件指针不变还是处于原来的地址。 在C中istream和ostream也提供了用于重新定位文件位置指针的成员函数seekg和seekpseekg用于设置输入文件流的文件流指针位置而seekp用于设置输出文件流的文件流指针位置。它们的声明如下 ostream seekp( streampos pos );ostream seekp( streamoff off, ios::seek_dir dir );istream seekg( streampos pos );istream seekg( streamoff off, ios::seek_dir dir ); 其中pos表示新的文件流指针位置值off表示需要偏移的值dir表示搜索的起始位置该参数的类型是一个枚举 enum seek_dir {beg, cur, end}; 每个枚举常量的含义如下 ios::beg文件流的起始位置默认值从流的开头开始定位。ios::cur文件流的当前位置。ios::end文件流的结束位置。 文件位置指针是一个整数值指定了从文件的起始位置到指针所在位置的字节数。下面是关于定位文件位置指针的代码片段。 // 定位到 fileObject 的第 n 个字节假设是 ios::beg fileObject.seekg( n );// 把文件的读指针从 fileObject 当前位置向后移 n 个字节 fileObject.seekg( n, ios::cur );// 把文件的读指针从 fileObject 末尾往回移 n 个字节 fileObject.seekg( n, ios::end );// 定位到 fileObject 的末尾 fileObject.seekg( 0, ios::end );下面的例子使用这些函数来获得一个二进制文件的大小。 【例4.14】获得二进制文件的大小 1打开Visual Studio Code新建文本文件test.cpp输入代码如下 #include iostream #include fstream using namespace std;const char * filename afile.dat; // afile.dat在前面的例子中已经生成了int main() {long l, m;ifstream file(filename, ios::in | ios::binary);l file.tellg();file.seekg(0, ios::end);m file.tellg();file.close();cout size of filename;cout is (m - l) bytes.\n;return 0; }2上传test.cpp到Linux在终端下输入命令g -o test test.cpp然后运行test运行结果如下 # g -o test test.cpp# ./testsize of afile.dat is 7 bytes. 假设当前目录下有一个文件afile.dat大小为7字节上面的代码就可以判断出其大小。同时我们可以在命令行下验证一下 # ll afile.dat-rw-r--r-- 1 root root 7 3月  15 21:49 afile.da 可以看出果然是7字节。 4.9.9  读写文件数据块 C的I/O中提供了write和read函数分别从流中读取数据和向流写入数据。write函数是ostream的一个成员函数被ofstream继承。而read是istream的一个成员函数被ifstream继承。类fstream的对象同时拥有这两个函数。Write和read函数的原型是 ostream write ( char * buffer, streamsize size );istream read ( char * buffer, streamsize size ); 这里buffer是一块内存的地址用来存储要写入或读出的数据。参数size是一个整数值表示要从buffer中读出或写入的字符数。 下面两个小例子演示了这两个函数的使用。 【例4.16】复制文件 1打开Visual Studio Code新建文本文件test.cpp输入代码如下 // 复制文件 #include fstream // std::ifstream, std::ofstreamint main() {std::ifstream infile(myfile.txt, std::ifstream::binary);std::ofstream outfile(new.txt, std::ofstream::binary);// 获取文件大小infile.seekg(0, infile.end);long size infile.tellg();infile.seekg(0);// 为文件内容分配内存char* buffer new char[size];// 读取infile的内容infile.read(buffer, size);// 向outfile写入内容outfile.write(buffer, size);// 释放动态分配的内存delete[] buffer;outfile.close();infile.close();return 0; }2上传test.cpp到Linux在终端下输入命令g -o test test.cpp然后运行test运行结果如下 # g test.cpp -o test # ./test # cat new.txt Linux boy例4.17】读取文件到内存 1打开Visual Studio Code新建文本文件test.cpp输入代码如下 // 将文件读入内存 #include iostream // std::cout #include fstream // std::ifstreamint main() {std::ifstream is(myfile.txt, std::ifstream::binary);if (is) {// 获取文件长度is.seekg(0, is.end);int length is.tellg();is.seekg(0, is.beg);char * buffer new char[length];std::cout Reading length characters... ;// 以块的形式读取数据is.read(buffer, length);if (is)std::cout all characters read successfully.;elsestd::cout error: only is.gcount() could be read;is.close();// 缓冲区包含整个文件内容delete[] buffer;} }2上传test.cpp到Linux在终端下输入命令g -o test test.cpp然后运行test运行结果如下 # g test.cpp -o test# ./testReading 18 characters... all characters read successfully.
http://www.tj-hxxt.cn/news/229354.html

相关文章:

  • 淘宝客网站建设教程梅县区住房和城市建设局网站
  • 百度助手官网企业优化网站
  • 开发网站用什么语言如何在阿里云自主建网站
  • 5000个网站资源做外链外贸网店
  • 网站优化公司排名深圳深圳网络营销公司
  • 泾川网站城镇建设规化图烟台市建设局网站
  • 网站建设如何入账如何做网站ppt
  • 贵阳网站开发外包公司代刷网网站怎么做
  • 企业网站pc优化淘客推广计划
  • 3d建模怎么做网站旋转快捷的网站建设排行榜
  • 商务网站建设毕业设计模板网站建设实践试卷
  • 东莞一站式网站建设广告联盟
  • 网站制作网站做网怎样选择网站建设
  • 建设外贸网站公司青岛百度网站排名优化
  • 花生壳可以做网站吗计算机初学者入门教程
  • 肃宁县做网站自己做自媒体在哪个网站比较好
  • 做网站的工作记录网站开发项目经理
  • 溧阳 招网站开发东莞网站免费制作
  • 网站开发 网页设计北京师范大学出版社快速做网站教程
  • 怎么做网站外贸123上网
  • 郑州集团网站建设哪家好2019年做网站还有机会吗
  • wordpress建站准备网络广告推广是怎么做的
  • 茶叶包装设计成都抖音seo
  • 胶州做网站的不是搜索网站的是
  • 企业网站建设合同一个网站多个域名的seo优化
  • 有没有专门的销售公司海外seo
  • 物流网站设计与实现专业做网站企业
  • 网站降权了怎么办建分类信息网站
  • 做网站的三个软件网站建设一般满足什么需求
  • 大气产品展示网站源码中国网站优化公司