c++如何将数字写入文件名中?

c++如何将数字写入文件名中?,第1张

方法:

1、文件 *** 作需要用到头函数fstream;

2、用ifstream打开源文件,备读;

3、用ofstream打开目标文件,备写链竖缓;

4、循环读取源文件;

5、用getline()函数,逐行读取源文件到字符串中;

6、用cout输出字符串到标准输出(屏幕);

7、把读到的字符输出到目标文件;

8、若读文件结束,结束循环;

9、纤拦关闭源文件和目标文件。

参考代码:

#include<iostream>//输入输出流

#include<fstream>//文件流头文件

using namespace std

int main()

{

ifstream in("src.txt")//源文件读

ofstream out( "obj.txt" )//目标文件写

if (!in){

cout <<"open source file error!"<<endl

return -1

}

while( !in.eof() ) //文件未结束,循环

{

char str[1024]

in.getline(str,sizeof(str),'\n')//读一行

cout <<str <<endl//输出到屏幕

out<<str <<endl//棚模输出到文件

}

in.close()

out.close()

return 0

}

#define _str(r) #r

#define _filename(r) _str(C:/Users/Administrator/Desktop/新建文件夹/仿橡##r)

获取绝备岩旁对路枣搜径 _getcwd 参考 http://baike.baidu.com/view/982170.htm

wofstream wofile("file")

wofile.imbue(locale( "", locale::all ^ locale::numeric))

“”表示表示使用本地语言,这里当然相当于“chs”或者“chinese”。

locale::all表示使用该语言的所有格式设置进行编码转换!

^是异或,locale::numeric表示数字格式。这里的意思是避免转换数字格式!否则123456输出结果会成为123,456这种形式!

1)std::ofstream 支持中文的文件名,可以正常的写入中文(MBCS编码)==>std::string类型

(2)std::wofstream 支持中文的文件名,可以正常的写入中文常量(不带L),如果是带上L的话,需要将Locale设置成"chs"模式,对应std::wstring类型的变巧告量(包含中文)写入文件时,一定要将Locale设置成"chs"模式,否则不能咐枣正常写入。

(3)宽字符的流(前面带w的)==>支持按照MBCS写文件,但是仅仅局限于常量比如std::wcout<<"wcout测试"对于MBCS的变量(std::string)来说将会产生编译错误,例:std::string str = "中文"std::wcout<<str

(4)对于宽字符的流如果是指明使用Unicode的话(std::wstring),就需要相应孝简明的设置区域了,调用相应的imbue方法

(5)总结一般的读写文件使用std::ofstream就行了,支持汉语,==>包括文件名,和文件写入


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12160431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存