#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main()
{
string pn;
char cn[50];
fstream iof;
cout <<" 请输入路径和文件名(如:e:\\\\c++\\\\1.dat)..."<<endl<<" ";
cin >> pn;
for(int i=0;i<50;i++) //把字符串转换为字符数组
{
if(i<pn.length())
cn[i] = pn[i];
else
cn[i] = '\0';
}
cout <<cn<<endl; //检查是否转换错误
const char *wch = (const char*)cn; //定义一个wchar_t并指向cn,(强制转换)
const char *p = wch; //把他变成一个常指针
char *cc = (char*)p; //再转换为char型,和下一句一起验证转换是否错误
cout <<cc<<endl;
iof.open(p,ios::in); //按上一个程序的错误提示,改成const wchar_t*
if(!iof)
cout <<" 文件打开错误,请确定输入正确的路径和文件名..."<<endl;
else
cout <<" 文件打开正常...";
return 0;
}