如何解决将 TIdStrings 转换为 AnsiString
我正在研究一些 Indy 类,TIdPOP3
和 TIdMessage
。特别是,我想从 TIdMessage
中检索正文的内容。从文档中,TIdMessage
有一个类型为 TIdStrings
的 Body 属性。有没有办法将其转换为 AnsiString
?
编辑:
我试图打印出我从 TIdMessage
读取的正文并将其输出到一个 txt 文件中,但是我做错了,因为输出了一个空字符串。下面是我的代码示例。 Body 是一个全局 AnsiString
变量,popMssg
是一个 TIdMessage
对象。
Body = popMssg->Body->Text;
LogMssg("Vitran code from email body: %s \n",Body.c_str());
这是我的 LogMssg()
函数,它只需要输入参数并将其写入 txt 文件。
int MailRouter::LogMssg(char * fmt,...)
{
SYSTEMTIME st;
int len;
FILE * log;
va_list args;
char logName[256],mssg[1024],dirName[64];
GetSystemTime(&st);
sprintf(dirName,"\\\\%s\\Logs\\MailRouter",VIP00.c_str());
CreateDirectory(dirName,0);
sprintf(logName,"\\\\%s\\Logs\\MailRouter\\%04u_%02u_%02u.txt",VIP00.c_str(),st.wYear,st.wMonth,st.wDay);
log = fopen(logName,"a");
if(log != 0) {
va_start(args,fmt);
len = vfprintf(log,fmt,args);
va_end(args);
fclose(log);
}
return len;
}
编辑 2:这是我的电子邮件的屏幕截图。第一张图片是一个附件,它下面的“10”是我要打印的电子邮件正文。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。