65,210
社区成员
发帖
与我相关
我的任务
分享//.h
vector<string> m_FileList; //一共存放了221个文件(cpp文件)
vector<string> m_ChineseKeyWordList; //一共存放了3900个中文关键字
vector<string> m_EnglishReplaceWordList; //一共也存放了3900个英文替换字,去替换上面的中文。
////m_ChineseKeyWordList和m_EnglishReplaceWordList是一一对应的。
//.cpp
for (int i = 0; i < (int)m_FileList.size(); i++)
{
string strFilePath = m_FileList[i]; //文件
for (int m = 0; m < (int)m_ChineseKeyWordList.size(); m++)
{
string strContent = "";
string line = "";
int pos = 0;
string strKeyWord = m_ChineseKeyWordList[m]; //中文关键字
//一行行的读m_FileList中存放的文件
fstream file(strFilePath.c_str(), ios::in|ios::out);
if (!file)
return;
while(getline(file, line))
{
if((pos = (int)line.find(strKeyWord)) != -1)
{
string strReplaceWord = m_EnglishReplaceWordList[m]; //英文替换字
line.replace(pos, strKeyWord.length(), strReplaceWord.c_str()); //中文 替换 英文
}
strContent += line + "\n";
}
file.clear();
file.sync();
file.seekp(0);
file << strContent;
strContent = "";
}
}
while( ( pos = strFileContent.find( strKeyWord, pos ) ) != string::npos )
//.h
vector<string> m_FileList; //一共存放了221个文件(cpp文件)
vector<string> m_ChineseKeyWordList; //一共存放了3900个中文关键字
vector<string> m_EnglishReplaceWordList; //一共也存放了3900个英文替换字,去替换上面的中文。
////m_ChineseKeyWordList和m_EnglishReplaceWordList是一一对应的。
//.cpp
for (int i = 0; i < (int)m_FileList.size(); i++)
{
string strFilePath = m_FileList[i]; //文件
fstream file( strFilePath.c_str(), ios::in|ios::out );
if( !file ) return;
//每个文件只打开一次,将文件内容导入到字符串中处理
int nFileLen = file.get();
char* pFileContent = new char[nFileLen];
if( !( file.get( pFileContent, nFileLen ) ) continue;
string strFileContent;
strFileContent.append( pFileContent, nFileLen );
for (int m = 0; m < (int)m_ChineseKeyWordList.size(); m++)
{
string strKeyWord = m_ChineseKeyWordList[m]; //中文关键字
string::size_type pos;
while( ( pos = strFileContent.find( strKeyWord ) ) != string::npos )
strFileContent.replace( pos, strKeyWord.size(), m_EnglishReplaceWordList[m].c_str() );
}
//将处理过的字符串,重新输出到文件中去
...
}
int nFileLen = file.get();
char* pFileContent = new char[nFileLen];
if( !( file.get( pFileContent, nFileLen ) ) continue;
string strFileContent;
strFileContent.append( pFileContent, nFileLen );