ifstream java_C++中文读写文件支持ofstream、ifstream、Locale(原)

#pragma once

#include #include #include #include #include #include #include #include

struct CStudent

{

int ID;

int age;

std::wstring name;

std::string name1;

double math;

double english;

friend std::wostream & operator

std::wostream & operator

os<:locale oldlocal='os.imbue(std::locale(std::locale::locale("chs"),"",LC_CTYPE));</p'>

if (object.name.length() == 0)

{

os

else

{

os/os

os

os

}

std::ostream & operator

os

{

os

else

{

os

os

}

class COutPutStudent

{

private:

std::vectorm_StudentVec;

std::wofstream m_WFileStream;

std::ofstream m_FileStream;

public:

void Init();

void Finish();

void WriteFile();

void WriteHeader();

void WriteContent();

};

void COutPutStudent::Init()

{

m_StudentVec.clear();

CStudent A,B;

A.ID = 1;

A.age = 23;

A.english = 85;

A.math = 95;

m_StudentVec.push_back(A);

B.ID = 2;

B.age = 24;

B.name = L"小王";

B.name1 = "小王";

B.english = 75;

B.math = 86;

m_StudentVec.push_back(B);

m_WFileStream.open(L"测试W.csv",std::ios_base::out);

if (!m_WFileStream)

{

::OutputDebugStr(L"文件流出错");

}

m_FileStream.open(L"测试.csv",std::ios_base::out);

if (!m_FileStream)

{

::OutputDebugStr(L"文件流出错");

}

}

void COutPutStudent::WriteHeader()

{

m_WFileStream

m_FileStream

void COutPutStudent::WriteContent()

{

for (std::vector::const_iterator m_StudentVecIt = m_StudentVec.begin();m_StudentVecIt != m_StudentVec.end();m_StudentVecIt++)

{

m_WFileStream

for (std::vector::const_iterator m_StudentVecIt = m_StudentVec.begin();m_StudentVecIt != m_StudentVec.end();m_StudentVecIt++)

{

m_FileStream

}

void COutPutStudent::WriteFile()

{

WriteHeader();

WriteContent();

}

void TestCout()

{

std::cout

std::locale oldLocale = std::wcout.imbue(std::locale(std::locale("chs"),"",LC_CTYPE));

std::wcout<:wcout.imbue>

std::cout

std::cout<:wstring wstr='L"lwcout中文测试";</p'>

//std::wcout<:wcout>

std::locale oldLocale1 = std::wcout.imbue(std::locale(std::locale("chs"),"",LC_CTYPE));

std::wcout<:wcout.imbue>

}

int main(void)

{

TestCout();

COutPutStudent ST;

ST.Init();

ST.WriteFile();//两个都正常写入文件

getchar();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值