#include "stdafx.h"#include <iostream>
#include <fstream>
#include <string>
#include<afxwin.h>
using namespace std;
#define MAX_LENGTH 1024
void main()
{/*
CStdioFile file;
file.Open("text.txt", CFile::modeRead | CFile::typeText);
CString str;
CString strTemp;
while(file.ReadString(strTemp))
{
str += strTemp + "r";
}
file.Close();*/
CStdioFile file;
if (!file.Open("in.txt", CFile:)) return;
CString strLine;
while (file.ReadString(strLine))
{
cout<<strLine<<endl;
}
file.Close();
}
我运行上面的代码,怎么老是出现错误,错误提示为:
error C2664: “CStdioFile::Open”: 不能将参数 1 从“const char [7]”转换为“LPCTSTR”
请问这是由于什么原因造成的,谢谢
这样 就解决了。
要用L"text.txt"或者_T("text.txt")
而TCHAR则是通用字符,它的含义会根据编译环境变化,在多字节字符串环境下,它就是char;在双字节字符串下,它就是宽字符。
代码中应该尽量使用通用符,这样在可以使用相同的代码在两种字符环境中,只需要设置环境,然后重新编译就可以啦。