像这样的处

 
  
  1. {  
  2.         vector<string> text;  
  3.           
  4.         ifstream infile("a.txt");  
  5.         ofstream outfile("b.txt");  
  6.         if(infile.fail()) {  
  7.             cout<<"open file a.txt failed!";  
  8.             return ;   
  9.         }  
  10.         string ss="";  
  11.         char c;  
  12.         while(infile.get(c)/*infile.get(c,30,' '|'\n')*/)  
  13.         {  
  14.             if(isspace(c)&&!ss.empty())  
  15.             {                 
  16.                 text.push_back(ss);  
  17. //              ss.~string();  
  18.                 ss="";  
  19.                   
  20.             }else  
  21.             {  
  22.                 if(isalpha(c))  
  23.                 {  
  24.                     c=toupper(c);             
  25.                     ss.append(1,c);  
  26.                 }  
  27.                 else  
  28.                     ss.append(1,c);  
  29.             }         
  30.               
  31.         }  
  32.  
  33.         for(vector<string>::iterator iter=text.begin();iter!=text.end();iter++)  
  34.             outfile<<*iter<<" ";  
  35.  
  36.     }  

理每一单词的每一个字符,我最开始的想法是:(代码如上)

变量:一个字符,一个字符串;逢空格写满一个字符串;逢非空格的字符判断是否为大写,转化然后追加到串中存着;

比较的好的处理的方法是这样:

先一个字符串的读到vector<string> vec中,仅vec变量就可完成所有操作;vec[i][j]就是取字符;

 另附:a(97) A(65) LF(10)换行 RS(32) 记录分隔符