none
ifs.getline(stringline,100); 出错 RRS feed

  • 问题

  • ifs.open(filename,ostream::in);

    TCHAR stringline[200];
    TCHAR now[28];

     _strtime(now);
     out_text=now;
     out_text+="\r\n";
     

    while(!ifs.eof())
    {
     
     ifs.getline(stringline,100); 
      stringstream strstream(stringline);
      
      while(!strstream.eof())
      {
       strstream>>setw(12)>>cstr;
      out_text+=cstr;
      out_text+="\t";
      
      
      }
      strstream.clear();
      
      
      out_text+="\r\n";
     
     ifs.clear();


    2011年4月25日 0:51

答案

  • 邮件的头部分会告诉你邮件文字的编码方式,并不一定都是Windows系统中文默认的GB2312,还有可能是UTF-8或者BIG5,你看看你的手机是否支持邮件里要求的文字编码。

     


    0xBAADF00D
    • 已标记为答案 Honny_yeyh 2011年5月6日 2:31
    2011年5月6日 1:14
    版主

全部回复

  • getline的用法:

    #define MAX_LENGTH 200
     ifstream fin("F:\\11.txt");

     char buf[MAX_LENGTH] = {0};
     string str;
     while(fin.getline(buf, MAX_LENGTH))
     {
      str += buf;
      str += "\r\n";
     }
     fin.close();


    cout<<str.c_str()<<endl;


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年4月25日 2:02
    版主
  • 为什么用上面的代码收邮件的时候有时候是中文,有时候是乱码? 我用的是WINPHONE7 手机收的

    手机使用的是同一部手机

    用电脑收邮件字体正常

    2011年4月25日 10:37
  • 是不是你手机不支持部分编码格式?Android的手机有时候也是

    2011年5月4日 1:55
  • 邮件的头部分会告诉你邮件文字的编码方式,并不一定都是Windows系统中文默认的GB2312,还有可能是UTF-8或者BIG5,你看看你的手机是否支持邮件里要求的文字编码。

     


    0xBAADF00D
    • 已标记为答案 Honny_yeyh 2011年5月6日 2:31
    2011年5月6日 1:14
    版主