C++IO流文件读写(文本文件,二进制文件)

简介: C++IO流文件读写(文本文件,二进制文件)
//使用文件流写文本文件
#include<iostream>
using namespace std;
#include<string>
#include<fstream>
int main(void)
{
  //ofstream outfile;
  fstream outfile;
  //outfile.open("User.txt");
  outfile.open("User.txt", ios::out | ios::trunc);
  string name;
  int age;
  while (1) {
    cout << "请输入姓名:[输入Ctrl Z 停止输入]";
    cin >> name;
    if (cin.eof()) {
      break;
    }
    outfile << name<<"\t";
    cout << "请输入年龄:";
    cin >> age;
    outfile << age << endl;;
  }
  outfile.close();
  return 0;
}

 

//使用文件流读文本文件
#include<iostream>
using namespace std;
#include<fstream>
#include<string>
//int readFile(void) 
int main(void)
{
  ifstream infile;
  infile.open("User.txt");
  string name;
  int age;
  while (1) {
    infile >> name;
    if (infile.eof()) {
      break;
    }
    cout << name << "\t";
    infile >> age;
    cout << age << endl;
  }
  infile.close();
  return 0;
}
//使用文件流写二进制文本文件
#include<iostream>
using namespace std;
#include<string>
#include<fstream>
int main(void) {
  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;
}
//使用文件流读二进制文本文件
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main(void) {
  ifstream infile;
  infile.open("User.dat");
  string name;
  int age;
  while (1) {
    infile >> name;
    if (infile.eof()) {
      break;
    }
    cout << name<<"\t";
    char temp;
        //二进制读取遇到制表符不会自动跳跃
    infile.read((char*)&temp, sizeof(temp));
    //infile >> age;错误
    infile.read((char*)&age, sizeof(age));
    cout << age << endl;
  }
  infile.close();
  system("pause");
  return 0;
}

 

 

 

 

 

目录
打赏
0
0
0
0
1
分享
相关文章
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
75 34
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
阿里云ESSD Entry云盘是新一代企业级云盘,具备高IOPS、低延迟特性,适合开发与测试场景。它提供10~32,768 GiB容量范围,最大IOPS达6,000,吞吐量150 MB/s,时延1~3 ms。支持按量付费和包年包月,性价比高,特别适合个人开发者和中小企业。详情及价格参考阿里云官网。
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
【JavaEE】——文件IO(万字长文)
文件路径,文本文件,二进制文件,File类,文件流,字节流(InputStream,OutputStream)字符流(Reader,Writer)
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
ESSD Entry云盘是阿里云推出的新一代云盘,具备高IOPS、低延迟和企业级数据保护能力。适用于开发与测试场景,支持按量付费和包年包月计费模式。99元和199元的ECS经济型e实例和通用算力型u1实例均采用ESSD Entry系统盘,性价比高。详细性能参数和价格请参考阿里云官方页面。
180 0
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
200 1
Linux C/C++之IO多路复用(aio)
|
5月前
|
Linux C/C++之IO多路复用(poll,epoll)
这篇文章详细介绍了Linux下C/C++编程中IO多路复用的两种机制:poll和epoll,包括它们的比较、编程模型、函数原型以及如何使用这些机制实现服务器端和客户端之间的多个连接。
112 0
Linux C/C++之IO多路复用(poll,epoll)
Linux C/C++之IO多路复用(select)
这篇文章主要介绍了TCP的三次握手和四次挥手过程,TCP与UDP的区别,以及如何使用select函数实现IO多路复用,包括服务器监听多个客户端连接和简单聊天室场景的应用示例。
138 0
|
5月前
|
Linux c/c++文件虚拟内存映射
这篇文章介绍了在Linux环境下,如何使用虚拟内存映射技术来提高文件读写的速度,并通过C/C++代码示例展示了文件映射的整个流程。
109 0

热门文章

最新文章