• C++文件操作(txt和csv)


    操作文件必须包含的头文件:#include <fstream>
    写入:

    int main ()
    {

    string fileName = "e:\vs2012\file\a.csv";

    ofstream file(fileName);
    if(!file){cout << "open file error" <<endl; return 0;}
    for (int i = 0; i < 1000000; i++)
    {
    file<<i<<",username"<<i<<",pw"<<i<<" ";
    }

    file.close();
    }

    读取:
    string str;
    ifstream file(fileName , ios::in);
    file>>str;
    cout << str <<endl;
     

    while(!file.eof()){    //多行读取
    getline(file,str);
    cout<<str<<endl;
    }

     
    文件打开方式选项:
        ios::in    = 0x01, //供读,文件不存在则创建(ifstream默认的打开方式)
        ios::out    = 0x02, //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式)
        ios::ate    = 0x04, //文件打开时,指针在文件最后。可改变指针的位置,常和in、out联合使用
        ios::app    = 0x08, //供写,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,指针位置总在最后
        ios::trunc   = 0x10, //在读写前先将文件长度截断为0(默认)
        ios::nocreate = 0x20, //文件不存在时产生错误,常和in或app联合使用
        ios::noreplace = 0x40, //文件存在时产生错误,常和out联合使用
        ios::binary  = 0x80  //二进制格式文件

    CSV格式的文件,可以用excel打开,格式和txt一样,每列用英文逗号隔开,每行用

    方法1:(c语言)

    int main()
    {
    FILE *f;
    f = fopen("e:\a.csv" , "wb");
    fprintf(f,"aaa,23,sdf ");
    fprintf(f,"bbb/,,345\,,2sdf ");
    fclose(f);
    return 0;
    }

    load data infile 'E:\vs2012\file\a.csv' into table test fields terminated by ',' optionally enclosed by '"' lines terminated by ' ';

    //判断文件是否存在的方法,
    	WIN32_FIND_DATA FindFileData;
    	HANDLE hFind;
    	hFind = FindFirstFile(file_path.c_str(), &FindFileData);
    	if(hFind == INVALID_HANDLE_VALUE){
    		cout<<"failed"<<endl;
    		printf("%d", GetLastError());
    	}
    

      

  • 相关阅读:
    函数嵌套 lisp表达式求值
    初涉时间间隔问题
    高精度算法-带小数大数相加
    12/10 C语言程序设计竞赛 后五题
    字符串头尾连接问题-木棒连接
    ZJGSU-ACM OJ 心得
    高精度算法-大数乘法
    趣味两题-(简单追及问题、两直线相交问题)
    struts2基于注解的action
    spring中常用的注解
  • 原文地址:https://www.cnblogs.com/alazalazalaz/p/4060258.html
Copyright © 2020-2023  润新知