C++文件读取中:
infile in;
in.open("file.dat",ios::in);
这样是可以的。
但是
string a;
a="file.dat"
in.open(a,ios::in)
这样的格式编译器将要报错,原因是C++不能识别字符串的文件名。
有时候需要自定义的文件名,就要把string类型转换成char型的。
比如:
string a="hello world";
char *b=new char[20];
strcpy(b,a.c_str());
cout<<b<<endl;
cout<<a.c_str()<<endl;
delete b;结果将如下显示:
这样
in.open(b,ios::in);
就可以编译通过了。
@ Mayuko
本文详细介绍了在C++中如何将字符串转换为字符数组以实现文件的打开操作,提供了实例演示及代码解析,帮助开发者解决文件读取过程中遇到的字符串类型转换问题。
1万+

被折叠的 条评论
为什么被折叠?



