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

一般做网站销售提成有域名有服务器怎么做网站

一般做网站销售提成,有域名有服务器怎么做网站,全球疫情最新动态,线上推广方式有哪几种CIO流 IO: 向设备输入数据和输出数据 C的IO流设备: 文件、控制台、特定的数据类型(stringstream) c中,必须通过特定的已经定义好的类, 来处理IO(输入输出) 读写文件&#xff1a;文件流 文件流: 对文件进行读写操作 头文件: <fstream> 类库: ifstream 对文件输入&am…

C++IO流

IO: 向设备输入数据和输出数据

C++的IO流设备: 文件、控制台、特定的数据类型(stringstream)

c++中,必须通过特定的已经定义好的类, 来处理IO(输入输出)

读写文件:文件流

文件流: 对文件进行读写操作

头文件:  <fstream>

类库: ifstream 对文件输入(读文件)、ofstream 对文件输出(写文件)、fstream  对文件输入或输出

对文本文件流读写

文件打开方式:

模式标志

描述

ios::in

读方式打开文件

ios:out

写方式打开文件

ios::trunc

如果此文件已经存在, 就会打开文件之前把文件长度截断为0

ios::app

尾部最加方式(在尾部写入)

ios::ate

文件打开后, 定位到文件尾                                              

ios::binary

二进制方式(默认是文本方式)

以上打开方式, 可以使用位操作 |  组合起来

写文本文件

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main()

{

string name;

int age;

ofstream outfile;  //也可以使用fstream, 但是fstream的默认打开方式不截断文件长度

// ofstream的默认打开方式是,  截断式写入 ios::out |  ios::trunc

// fstream的默认打开方式是,  截断式写入   ios::out

// 建议指定打开方式

outfile.open("user.txt", ios::out | ios::trunc);

while (1) {

cout << "请输入姓名: [ctrl+z退出] ";

cin >> name;

if (cin.eof()) { //判断文件是否结束

break;

}

outfile << name << "\t";

cout << "请输入年龄: ";

cin >> age;  

outfile << age << endl;  //文本文件写入

}

// 关闭打开的文件

outfile.close();

system("pause");

return 0;

}

读文本文件

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main()

{

string name;

int age;

ifstream infile;

infile.open("user.txt");

while (1) {

infile >> name;

if (infile.eof()) { //判断文件是否结束

break;

}

cout << name << "\t";

infile >> age;

cout << age << endl;  

}

// 关闭打开的文件

infile.close();

system("pause");

return 0;

}

对二进制文件流读写

思考:文本文件和二进制文件的区别?

文本文件: 写数字1,  实际写入的是 ‘1’。二进制文件:写数字1, 实际写入的是  整数1(4个字节,最低字节是1, 高3个字节都是0),写字符‘R’实际输入的还是‘R’

写二进制文件

使用文件流对象的write方法写入二进制数据

Demo

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main()

{

string name;

int age;

ofstream outfile;

outfile.open("user.dat", ios::out | ios::trunc | ios::binary);

while (1) {

cout << "请输入姓名: [ctrl+z退出] ";

cin >> name;

if (cin.eof()) { //判断文件是否结束

break;

}

outfile << name << "\t";

cout << "请输入年龄: ";

cin >> age;  

//outfile << age << endl;  //会自动转成文本方式写入

outfile.write((char*)&age, sizeof(age));

}

// 关闭打开的文件

outfile.close();

system("pause");

return 0;

}

读二进制文件

使用文件流对象的read方法.

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main()

{

string name;

int age;

ifstream infile;

infile.open("user.dat", ios::in | ios::binary);

while (1) {

infile >> name;

if (infile.eof()) { //判断文件是否结束

break;

}

cout << name << "\t";

// 跳过中间的制表符

char tmp;

infile.read(&tmp, sizeof(tmp));

//infile >> age; //从文本文件中读取整数, 使用这个方式

infile.read((char*)&age, sizeof(age));

cout << age << endl;  //文本文件写入

}

// 关闭打开的文件

infile.close();

system("pause");

return 0;

}

对文件流按格式读写取数据

使用stringstream

按指定格式写文件

Demo

#include <fstream>

#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int main()

{

string name;

int age;

ofstream outfile;

outfile.open("user.txt", ios::out | ios::trunc);

while (1) {

cout << "请输入姓名: [ctrl+z退出] ";

cin >> name;

if (cin.eof()) { //判断文件是否结束

break;

}

cout << "请输入年龄: ";

cin >> age;

stringstream s;

s << "name:" << name << "\t\tage:" << age << endl;

outfile << s.str();

}

// 关闭打开的文件

outfile.close();

system("pause");

return 0;

}

按指定格式读文件

没有优雅的C++解决方案, 使用C语言的sscanf

#include <fstream>

#include <iostream>

#include <string>

#include <sstream>

#include <Windows.h>

using namespace std;

int main(void)

{

char name[32];

int age;

string line;

ifstream infile;

infile.open("user.txt");

while (1) {

getline(infile, line);

if (infile.eof()) { //判断文件是否结束

break;

}

sscanf_s(line.c_str(), "姓名:%s 年龄:%d", name, sizeof(name),&age);

cout << "姓名:" << name << "\t\t年龄:" << age << endl;

}

infile.close();

system("pause");

return 0;

}

文件流的状态检查

s.is_open( )        文件流是否打开成功, 

s.eof( )  流s是否结束

s.fail( ) 流s的failbit或者badbit被置位时, 返回true

failbit: 出现非致命错误,可挽回, 一般是软件错误

badbit置位, 出现致命错误, 一般是硬件错误或系统底层错误, 不可挽回

s.bad( )  流s的badbit置位时, 返回true

s.good( )  流s处于有效状态时, 返回true

s.clear( ) 流s的所有状态都被复位

随机读写:文件流的定位

seekg

seekg( off_type offset,      //偏移量

ios::seekdir origin );  //起始位置

作用:设置输入流的位置

参数1: 偏移量

参数2: 相对位置

  beg   相对于开始位置

  cur   相对于当前位置

  end 相对于结束位置

demo

读取当前程序的最后50个字符

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main(void) {

ifstream infile;

infile.open("定位.cpp");

if (!infile.is_open()) {

return 1;

}

infile.seekg(-50, infile.end);

while (!infile.eof()) {

string line;

getline(infile, line);

cout << line << endl;

}

infile.close();

system("pause");

return 0;

}

tellg

返回该输入流的当前位置(距离文件的起始位置的偏移量)

Demo

获取当前文件的长度

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main(void) {

ifstream infile;

infile.open("定位.cpp");

if (!infile.is_open()) {

return 1;

}

// 先把文件指针移动到文件尾

infile.seekg(0, infile.end);

int len = infile.tellg();

cout << "len:" << len;

infile.close();

system("pause");

return 0;

}

seekp

设置该输出流的位置

先向新文件写入:“123456789”

然后再在第4个字符位置写入“ABC”

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main(void) {

ofstream outfile;

outfile.open("test.txt");

if (!outfile.is_open()) {

return 1;

}

outfile << "123456789";

outfile.seekp(4, outfile.beg);

outfile << "ABC";

outfile.close();

system("pause");

return 0;

}

常见错误总结

文件没有关闭: close(),可能导致写文件失败

    http://www.dtcms.com/wzjs/218040.html

    相关文章:

  1. 张家港做网站广告公司哪家网络营销好
  2. 百度做网站的费用文明seo
  3. 武汉网站建设索q.479185700网站关键词推广工具
  4. 外贸企业建站公司青岛神马排名优化
  5. 隐藏wordpress特征网络优化师
  6. 淮安市做网站的公司网络营销知识点
  7. 毕业设计代做的网站好刚刚北京传来重大消息
  8. 一个企业可以做几个网站旺道seo
  9. 视频运营管理网站seo怎么做优化工作
  10. 营销型网站建设公司比较专业百度关键词查询
  11. 文本怎样做阅读链接网站网络推广软文
  12. 苏州工业园区一站式服务中心北京优化seo排名优化
  13. 织梦网站上传啥是网络推广
  14. 常州做网站信息新开网站
  15. 如何做淘宝网站设计培训班学费一般多少
  16. 公司官网建设费用计入什么费用苏州网络推广seo服务
  17. 网站专栏怎么做漂亮做竞价推广大概多少钱
  18. 一个网站需要多少容量哪里可以免费推广广告
  19. 鹿城做网站怎么写软文
  20. 网站制作公司十强商家推广平台有哪些
  21. 长春房产网签查询信息流优化师前景
  22. 手机版网站如何做图片滚动新闻发布最新新闻
  23. 怀化人大网站软文推广方案
  24. 个人建网站做站长广州seo公司排名
  25. 美容加盟的网站建设石家庄网站建设公司
  26. 织梦本地做网站现在推广用什么平台
  27. 网站wordpress主题seo是指什么意思
  28. 青岛营销型网站建设域名注册费用
  29. 企业网站的建设水平直接关系到网络营销的效果疫情最新消息
  30. 河南省建设部网站官网快手seo软件下载