动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
小绿叶技术Lv154   
读写文件 c++ ofstream ifstream     


#include <iostream>
#include <cstring>
#include <string>
#include <stdlib.h>                 // system 命令使用头文件
#include <fstream>                  // 读写文件 

/*------ mkdir 命令 ------*/
#include <sys/stat.h>
#include <sys/types.h>
#include <cstddef>
using namespace std;

//int cishu=1200;
//int shijian=300;

char DirServer[30]="/datadisk/eisc/server/";
char AnfangDir[99]="anfang";
char logname[20]="eisc_anfang_log.txt";
// 不给长度,系统默认会定义长度,会导致错误,因此需要给长度
char MkdirSh[99]="sudo mkdir -p ";
char ChmodSh[99]="sudo chmod 777 -R ";



int log_run()
{
    strcat( MkdirSh, DirServer);
    strcat( ChmodSh, DirServer);
    // 注意:前面定义了变量,需要再函数里面进行赋值追加字符串,否则错误

    system(MkdirSh);
    system(ChmodSh);

    cout << "\n mkdirsh is : " << MkdirSh ;
    cout << "\n chmodsh is : " << ChmodSh;

//    system("tcpdump -nn > /datadisk/eisc/server/anfang/sh/log/log.txt &");
    return 0;
    // 终止函数,并且反馈该函数的值为0
}


void mkdir_path(char *p_cMkdir)
{
    int isCreate = mkdir(p_cMkdir,S_IRUSR | S_IWUSR | S_IXUSR | S_IRWXG | S_IRWXO);
    if( !isCreate )
        cout << "\n [ok] create AnfangDir:" << p_cMkdir  ;
    else
        cout << "\n [fall] create AnfangDir failed! error code: " << p_cMkdir << "\n \n" ;
}

int W_file()
{
    char shuoming[30]="this_is_eisc_anfang_tcpdump";
    ofstream setfile;
    setfile.open(logname);
    setfile << shuoming;
    setfile.close();
    // 定义 setfile 变量为 ofsteram 输入文件流,它的值为打开文件。 将 字符串变量的值写入文件流变量; 关闭流

}

int R_file ( char *lognamea, int status)
{
   char data[999];
   ifstream catfile;                                 // ifstream 以读模式打开文件, ofstream 是写模式。 将类型赋值给变量 infile 
   catfile.open(lognamea);                           // 变量打开文件
   cout << "\n Reading_from_the_file: " << lognamea ; 
   catfile >>  data;                                 // 将文件流,输入到 变量 data
   cout << "\n data 变量 获得文件内容: " << data << "\n \n \n  获取到 status 的值为: " << status << "\n \n";     
   catfile.close();                                  // 关闭打开的文件
   return status;                                   // 终止函数,并且反回该函数的值为0
}


int panduan_xuexi(){

    int status=0;
    if( !R_file(logname,status))
    {
        cout << "if 默认成立条件是 非0 非空,  感叹号 ! 是非运算 条件取反,相当于  结果为 是 0  是空 条件成立";
        cout << "\n [ok] 函数 R_file 返回的值为0 " ;
    }
    else
    {
        cout << "\n [fall] 函数 R_file 返回的值不为0 ";
    }
}

int main()
{
    log_run();
    strcat(DirServer, AnfangDir );
    strcpy(AnfangDir,DirServer);
    cout << "\n AnfangDir 的值为:" << AnfangDir;
//    memcpy( path, DirServer,99);
    cout << "\n 我是main 函数 AnfangDir 接收到值:" << AnfangDir;

    mkdir_path(AnfangDir);
    W_file();
    panduan_xuexi();

}






 4  已被阅读了1127次  楼主 2023-01-29 21:05:03
回复列表

回复:读写文件 c++ ofstream ifstream

guest
登录之后更精彩~
Powered by HadSky 7.12.10
© 2015-2024 PuYueTian
您的IP:44.221.66.130,2024-06-20 13:50:33,Processed in 0.0374 second(s).
Powered by HadSky
小绿叶技术博客