希望各位高人帮忙解决的问题是:
1.最后要求输出到另一个文件中,如何解决???
2.我这段代码是在Visual Studio 2008中编写的,可以运行,一点问题没有!!!但在VC6.0上就出现了问题......如果还有经历的话,请你们在VC6.0上运行一下,里面会有几个类似的错误,我大致的理解就是好像不支持我使用的“map关联容器”(C++ Primer这本书中学到的),我也在自己研究中,以下是那个网友的问题和我的解答!!!

网友的问题:用文件保存一段英文文本。 
    (1) 统计各字母在文本中出现的次数(忽略大小写)。 
    (2) 查找并替换文本中的某字符串,将替换后的文本存入另一个文件。


我得回帖:

由于我使用的开发环境是Visual Studio 2008 ,我在这上面运行调试没问题,但放在vc6.0里面时会显示有些C++库函数vc6.0不认,原因我也在查找中,但保证所用函数均是C++中的类和函数,同时还有程序的正确性!!!(实在不行,你留个qq给我,我把exe执行文件直接给你!!!)


首先,我现在桌面建立了一个文本文件(txt格式),里面我输入了如下的内容:
the quick Red fox jumps over the slow red turtle  注意:在这里面我为了测试,特意在里面设置了red这个单词重复了,并且将其中一个red的“r”改写成了大写字母,以此来测试这个代妈是否能做到“不区分大小写”的功能!
其次,我用Visual Studio 2008 编译了下边的代码,将生成一个exe文件,然后右键点击刚才建立的文本文件,利用打开方式选择我们生成的执行文件来运行这个文本文件,即可完成文件的输入,并测试结果(见dos界里的提示语)

未解决问题:由于时间仓促和能力有限,对于最后要求输出到另一个文件中,我每台搞明白呢,我会尽快给你答复的



源代码:
// 123.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdlib>  //用于暂停
#include <cctype>
#include <vector>   
//#include <cstring>  //用于处理C风格字符串
//#include <bitset>
//#include <stack>
#include <map>
#include<fstream>
//#include<algorithm>
//#define NDEBUG
using namespace std;

int main(int argc,char **argv)
{
   if(argc<2)
   {
       cerr<<"No input file!"<<endl;
       return EXIT_FAILURE;
   }

   //打开输入文件
   ifstream inFile;
   inFile.open(argv[1]);
   if(!inFile)
   {
     cerr<<"Can not open input file!"<<endl;
     return EXIT_FAILURE;
   }
   
   vector<string> Vec;   //接收文件中的每个单词
   string word;      //单词
   map<char,int> CharCount;    //对vector中的每个单词中字符出现次数的统计
   char ch;      //存放字符
   
   string FindWord;    //存放要查找的单词
   string ReplaceWord;   //输入打算用于替换的单词

   int Control=1;      

   //将文件中的单词压入容器中
   while(inFile>>word)
   {
       Vec.push_back(word);
   }

   cout<<"该文件中的内容是:"<<endl;  //输出文件的内容
   for(vector<string>::iterator iter=Vec.begin();iter!=Vec.end();++iter)
   {   
       cout<<(*iter)<<" ";
       for(int i=0;i!=(*iter).size();++i)
       {
           ch=(*iter)[i];    //提取字符
           ch=tolower(ch);  //对字符进行转话,以达到不区分大小写
           ++CharCount[ch];   //将字符一个个压入map中 
       }  
   }

   cout<<" "<<endl;
   cout<<" "<<endl;
   cout<<"文件中每个字符的出现次数统计结果是:"<<endl;
   cout<<"Char\t\t"<<"Times"<<endl;
   for(map<char,int>::iterator iter=CharCount.begin();iter!=CharCount.end();++iter)
   {
    cout<<(*iter).first<<"\t\t"<<(*iter).second<<endl;
   }

   system("pause");  //程序在此处停住,以便检查运行结果!
   system("cls");  //清屏

   cout<<"请输入你想查找的单词:"<<endl;
   cin>>FindWord;
   cout<<"请输入你用来替换的单词:"<<endl;
   cin>>ReplaceWord;
 
   for(int i=0;i!=FindWord.size();++i)
   {
           ch=FindWord[i];
           FindWord[i]=tolower(ch);  //不区分大小写
   }

   for(vector<string>::iterator iter=Vec.begin();iter!=Vec.end();++iter)
   {
       for(int i=0;i!=(*iter).size();++i)
       {
           ch=(*iter)[i];
           (*iter)[i]=tolower(ch);  //不区分大小写
       }

       if((*iter)==FindWord)
       {
           (*iter)=ReplaceWord;
            Control=0;
       }
   }

   if(Control==1)
   {
       cout<<"你要查找的单词在文件中不存在!!!"<<endl;
   }
   else
   {
   cout<<"文件中部分单词被替后的结果是:"<<endl;
   for(vector<string>::iterator iter=Vec.begin();iter!=Vec.end();++iter)
   {
       cout<<*iter<<" ";
   }

   }
   system("pause");  //程序在此处停住,以便检查运行结果!
    return 0;
}