首页 > 编程语言 >c++文件操作

c++文件操作

时间:2023-04-16 16:59:18浏览次数:31  
标签:文件 name age c++ char Person 操作 include cout

include<iostream>
#include<fstream>
using namespace std;
#include<string>
void test01()
{
    string l;
    ofstream a;
    a.open("test.txt", ios::out);
    /*getline(cin, l);*/ //可以正常写入空格
    a << "你好!! !" << endl;
    a.close();
}

void test02()
{
    string l;
    ifstream b;
    char arr[100];
    b.open("test.txt", ios::in);

    //1
    //if (!b.is_open())
    //{
    //    return;
    //}
    //else {
    //    b >> arr; //不可以正常输出空格
    //}
    //cout << arr << endl;

    //2
    //if (!b.is_open())
    //{
    //    return;
    //}
    //else {
    //    while (getline(b, l))
    //    {
    //        cout << l << endl;
    //    }
    //}

    //3
    //if (!b.is_open())
    //{
    //    return;
    //}
    //else {
    //    while (b.getline(arr, sizeof(arr)))
    //    {
    //        cout << arr;
    //    }
    //}
    b.close();
}



//int main()
//{
//    test01();
//    test02();
//    return 0;
//}

二进制形式读写

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>
using namespace std;

class Person {
public:
    int age;
    char* name;
    Person(int age_, const char* name_) {
        age = age_;
        name = new char[strlen(name_) + 1];
        strcpy(name, name_);
    }
    Person(){}
    ~Person()
    {
        delete[] name;
    }
};

void test()
{
    //二进制写
    //Person p(18, "王凌霄");
    //ofstream a;
    //cout << p.name << endl;
    //a.open("test.txt", ios::out | ios::binary);
    //a.write((const char*)&p, sizeof(p));

    //二进制读
    //Person p;
    //ifstream a;
    //a.open("test.txt", ios::in | ios::binary);
    //a.read((char*)&p, sizeof(Person));
    //cout << p.age << endl << p.name << endl;
    
}

int main()
{
    test();
    return 0;
}

 

标签:文件,name,age,c++,char,Person,操作,include,cout
From: https://www.cnblogs.com/wlxdaydayup/p/17323528.html

相关文章

  • 【转载】 C#中日期类型DateTime的日期加减操作
    在C#开发过程中,DateTime数据类型用于表示日期类型,可以通过DateTime.Now获取当前服务器时间,同时日期也可以像数字一样进行加减操作,如AddDay方法可以对日期进行加减几天的操作,AddMonth方法可以对日期进行加减几月的操作,AddYear方法可以对日期进行加减年的操作。常用的日期加减操作......
  • 分玩具的源文件mytool.h
    #include<stdio.h>#include<stdlib.h>#defineSTACK_INT_SIZE10#defineSTACKINCREMENT5#defineOK1#defineERROR0#defineMAXQSIZE51typedefintElemType;typedefintQElemType;/*队列元素类型*///栈的基本操作typedefstruct{ElemType*base;......
  • 如何解决Reporting Services目录数据库文件存在的问题
    如何解决ReportingServices目录数据库文件存在的问题浏览:1686|更新:2022-12-0411:211,自检时提示“ReportingServices目录数据库文件存在”失败,“ReportingServices目录临时数据库文件存在”失败。2,打开SQLServer数据库的安装目录,例如:C:\ProgramFiles(x86)\M......
  • Qt5.9 UI设计(三)——添加UI、类及资源文件
    前言设计一个软件,最简单的方式就是把控件直接往UI上放,然后再把功能实现了。这样可以实现基本的功能,但是界面不能缩放,如果拖动软件改变界面的大小,界面上的控件就会乱成一团,或者是界面的控件压根就不会跟着界面的大小进行改变。要使界面上的所有控件都随着界面的变化而变化,做到自......
  • 无显示器如何通过配置文件快速修复树莓派无法通过 SSH 访问的问题 All In One
    无显示器如何通过配置文件快速修复树莓派无法通过SSH访问的问题AllInOne在没有显示器的情况下如何通过配置系统文件快速的修复树莓派无法通过SSH访问的问题AllInOne无显示器SSH远程访问树莓派不小心或不知道怎么把SSH关闭了,导致无法SSH访问了❌$pingra......
  • C++实现多线程
    #include<iostream>#include<chrono>#include<thread>voidprintNumbers1(){for(inti=1;i<=10000;i++){std::cout<<"Thread1:"<<i<<std::endl;}}voidprintNumbers2(){for......
  • C++动态数组(vector.h)
    #include<iostream>#include<vector>intmain(){std::vector<std::string>con;con.push_back("9999");std::cout<<con[0];return0;}vector搞了一个多态,你可以随便赋值和数组一样,不过是动态的,读取的话vector有自带的比for更优雅的方式......
  • C++ auto关键字
    auto 是C++11中新增的一种类型推导关键字,可以根据变量的初始化表达式,自动推导出相应的类型。使用 auto 可以简化代码,减少类型错误的发生,提高代码的可读性和可维护性。下面是 auto 的使用示例,假设我们有一个整数变量 x,可以这样使用 auto 进行类型推导:autox=10;/......
  • C++的namespace
    这个也是和Java不同的地方,作用是为了防止类的名字冲突#include<iostream>namespacemyspace{classA{public:std::stringhead;private:std::stringbody;};}namespacemyspace2{classA{public:......
  • DDL(操作数据库,表等)
    DDL(操作数据库,表等)查询已有的数据库showdatabases; 创建创建数据库createdatabase数据库名称;创建数据库(判断,如果不存在则创建)createdatabaseifnotexists数据库名称;删除删除数据库dropdatabase数据库名称;删除数据库(判断,如果存在则删......