本文整理汇总了C++中vmime::string::c_str方法的典型用法代码示例。如果您正苦于以下问题:C++ string::c_str方法的具体用法?C++ string::c_str怎么用?C++ string::c_str使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vmime::string
的用法示例。
在下文中一共展示了string::c_str方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: connect
void windowsSocket::connect(const vmime::string& address, const vmime::port_t port)
{
// Close current connection, if any
if (m_desc != -1)
{
::closesocket(m_desc);
m_desc = -1;
}
// Resolve address
::sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(static_cast <unsigned short>(port));
addr.sin_addr.s_addr = ::inet_addr(address.c_str());
if (addr.sin_addr.s_addr == static_cast <int>(-1))
{
::hostent* hostInfo = ::gethostbyname(address.c_str());
if (hostInfo == NULL)
{
// Error: cannot resolve address
throw vmime::exceptions::connection_error("Cannot resolve address.");
}
memcpy(reinterpret_cast <char*>(&addr.sin_addr), hostInfo->h_addr, hostInfo->h_length);
}
// Get a new socket
m_desc = ::socket(AF_INET, SOCK_STREAM, 0);
if (m_desc == -1)
throw vmime::exceptions::connection_error("Error while creating socket.");
// Start connection
if (::connect(m_desc, reinterpret_cast <sockaddr*>(&addr), sizeof(addr)) == -1)
{
::closesocket(m_desc);
m_desc = -1;
// Error
throw vmime::exceptions::connection_error("Error while connecting socket.");
}
}
示例2: connect
void posixSocket::connect(const vmime::string& address, const vmime::port_t port)
{
// Close current connection, if any
if (m_desc != -1)
{
::close(m_desc);
m_desc = -1;
}
#if VMIME_HAVE_GETADDRINFO // use thread-safe and IPv6-aware getaddrinfo() if available
// Resolve address, if needed
struct ::addrinfo hints;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
std::ostringstream portStr;
portStr.imbue(std::locale::classic());
portStr << port;
struct ::addrinfo* res0;
if (::getaddrinfo(address.c_str(), portStr.str().c_str(), &hints, &res0) != 0)
{
// Error: cannot resolve address
throw vmime::exceptions::connection_error("Cannot resolve address.");
}
// Connect to host
int sock = -1;
struct ::addrinfo* res = res0;
for ( ; sock == -1 && res != NULL ; res = res->ai_next)
{
sock = ::socket(res->ai_family, res->ai_socktype, res->ai_protocol);
if (sock < 0)
continue; // try next
if (m_timeoutHandler != NULL)
{
::fcntl(sock, F_SETFL, ::fcntl(sock, F_GETFL) | O_NONBLOCK);
if (::connect(sock, res->ai_addr, res->ai_addrlen) < 0)
{
switch (errno)
{
case 0:
case EINPROGRESS:
case EINTR:
#if defined(EAGAIN)
case EAGAIN:
#endif // EAGAIN
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
case EWOULDBLOCK:
#endif // EWOULDBLOCK
// Connection in progress
break;
default:
::close(sock);
sock = -1;
continue; // try next
}
// Wait for socket to be connected.
// We will check for time out every second.
fd_set fds;
FD_ZERO(&fds);
FD_SET(sock, &fds);
fd_set fdsError;
FD_ZERO(&fdsError);
FD_SET(sock, &fdsError);
struct timeval tm;
tm.tv_sec = 1;
tm.tv_usec = 0;
m_timeoutHandler->resetTimeOut();
bool connected = false;
do
{
const int ret = select(sock + 1, NULL, &fds, &fdsError, &tm);
// Success
if (ret > 0)
{
connected = true;
break;
}
// Error
//.........这里部分代码省略.........
示例3: sendattach
int sendattach(SENDMAIL_VARIABLES *mvars)
{
#ifndef WIN32
vmime::platform::setHandler<vmime::platforms::posix::posixHandler>();
#else
vmime::platform::setHandler<vmime::platforms::windows::windowsHandler>();
#endif
if((mvars->from_addr==NULL)&&(mvars->tolist==NULL)&&(mvars->cclist==NULL)&&(mvars->bcclist==NULL)&&(mvars->from_addr==NULL)) {
cerr << "No Email Recipients Specified..." <<endl ;
ostringstream errmsg;
std::string errstring;
errmsg << "ERRORDIALOG \"ERROR SENDING EMAIL\" \"No Email Recipients Specified..." << endl << endl << endl << endl
<< (mvars->from_name==NULL ? "" : "From Name: ") << (mvars->from_name==NULL ? "" : mvars->from_name) << (mvars->from_name==NULL ? "" : "\n" )
<< (mvars->from_addr==NULL ? "" : "From Address: ") << (mvars->from_addr==NULL ? "" : mvars->from_addr) << (mvars->from_addr==NULL ? "" : "\n" )
<< (mvars->tolist==NULL ? "" : "TO: ") << (mvars->tolist==NULL ? "" : mvars->tolist) << (mvars->tolist==NULL ? "" : "\n" )
<< (mvars->cclist==NULL ? "" : "CC: ") << (mvars->cclist==NULL ? "" : mvars->cclist) << (mvars->cclist==NULL ? "" : "\n" )
<< (mvars->bcclist==NULL ? "" : "BCC: ") << (mvars->bcclist==NULL ? "" : mvars->bcclist) << (mvars->bcclist==NULL ? "" : "\n" )
<< (mvars->subject==NULL ? "" : "Subject: ") << (mvars->subject==NULL ? "" : mvars->subject) << (mvars->subject==NULL ? "" : "\n" )
<< (mvars->fname[0]==NULL ? "" : "Filename 0: ") << (mvars->fname[0]==NULL ? "" : mvars->fname[0]) << (mvars->fname[0]==NULL ? "" : "\n" )
<< (mvars->fname[1]==NULL ? "" : "Filename 1: ") << (mvars->fname[1]==NULL ? "" : mvars->fname[1]) << (mvars->fname[1]==NULL ? "" : "\n" )
<< (mvars->fname[2]==NULL ? "" : "Filename 2: ") << (mvars->fname[2]==NULL ? "" : mvars->fname[2]) << (mvars->fname[2]==NULL ? "" : "\n" )
<< (mvars->fname[3]==NULL ? "" : "Filename 3: ") << (mvars->fname[3]==NULL ? "" : mvars->fname[3]) << (mvars->fname[3]==NULL ? "" : "\n" )
<< (mvars->fname[4]==NULL ? "" : "Filename 4: ") << (mvars->fname[4]==NULL ? "" : mvars->fname[4]) << (mvars->fname[4]==NULL ? "" : "\n" )
<< (mvars->fname[5]==NULL ? "" : "Filename 5: ") << (mvars->fname[5]==NULL ? "" : mvars->fname[5]) << (mvars->fname[5]==NULL ? "" : "\n" )
<< (mvars->fname[6]==NULL ? "" : "Filename 6: ") << (mvars->fname[6]==NULL ? "" : mvars->fname[6]) << (mvars->fname[6]==NULL ? "" : "\n" )
<< (mvars->fname[7]==NULL ? "" : "Filename 7: ") << (mvars->fname[7]==NULL ? "" : mvars->fname[7]) << (mvars->fname[7]==NULL ? "" : "\n" )
<< (mvars->fname[8]==NULL ? "" : "Filename 8: ") << (mvars->fname[8]==NULL ? "" : mvars->fname[8]) << (mvars->fname[8]==NULL ? "" : "\n" )
<< (mvars->fname[9]==NULL ? "" : "Filename 9: ") << (mvars->fname[9]==NULL ? "" : mvars->fname[9]) << (mvars->fname[9]==NULL ? "" : "\n" )
<< (mvars->dname[0]==NULL ? "" : "Attachment 0: ") << (mvars->dname[0]==NULL ? "" : mvars->dname[0]) << (mvars->dname[0]==NULL ? "" : "\n" )
<< (mvars->dname[1]==NULL ? "" : "Attachment 1: ") << (mvars->dname[1]==NULL ? "" : mvars->dname[1]) << (mvars->dname[1]==NULL ? "" : "\n" )
<< (mvars->dname[2]==NULL ? "" : "Attachment 2: ") << (mvars->dname[2]==NULL ? "" : mvars->dname[2]) << (mvars->dname[2]==NULL ? "" : "\n" )
<< (mvars->dname[3]==NULL ? "" : "Attachment 3: ") << (mvars->dname[3]==NULL ? "" : mvars->dname[3]) << (mvars->dname[3]==NULL ? "" : "\n" )
<< (mvars->dname[4]==NULL ? "" : "Attachment 4: ") << (mvars->dname[4]==NULL ? "" : mvars->dname[4]) << (mvars->dname[4]==NULL ? "" : "\n" )
<< (mvars->dname[5]==NULL ? "" : "Attachment 5: ") << (mvars->dname[5]==NULL ? "" : mvars->dname[5]) << (mvars->dname[5]==NULL ? "" : "\n" )
<< (mvars->dname[6]==NULL ? "" : "Attachment 6: ") << (mvars->dname[6]==NULL ? "" : mvars->dname[6]) << (mvars->dname[6]==NULL ? "" : "\n" )
<< (mvars->dname[7]==NULL ? "" : "Attachment 7: ") << (mvars->dname[7]==NULL ? "" : mvars->dname[7]) << (mvars->dname[7]==NULL ? "" : "\n" )
<< (mvars->dname[8]==NULL ? "" : "Attachment 8: ") << (mvars->dname[8]==NULL ? "" : mvars->dname[8]) << (mvars->dname[8]==NULL ? "" : "\n" )
<< (mvars->dname[9]==NULL ? "" : "Attachment 9: ") << (mvars->dname[9]==NULL ? "" : mvars->dname[9]) << (mvars->dname[9]==NULL ? "" : "\n" )
<< (mvars->mtype[0]==NULL ? "" : "MimeType 0: ") << (mvars->mtype[0]==NULL ? "" : mvars->mtype[0]) << (mvars->mtype[0]==NULL ? "" : "\n" )
<< (mvars->mtype[1]==NULL ? "" : "MimeType 1: ") << (mvars->mtype[1]==NULL ? "" : mvars->mtype[1]) << (mvars->mtype[1]==NULL ? "" : "\n" )
<< (mvars->mtype[2]==NULL ? "" : "MimeType 2: ") << (mvars->mtype[2]==NULL ? "" : mvars->mtype[2]) << (mvars->mtype[2]==NULL ? "" : "\n" )
<< (mvars->mtype[3]==NULL ? "" : "MimeType 3: ") << (mvars->mtype[3]==NULL ? "" : mvars->mtype[3]) << (mvars->mtype[3]==NULL ? "" : "\n" )
<< (mvars->mtype[4]==NULL ? "" : "MimeType 4: ") << (mvars->mtype[4]==NULL ? "" : mvars->mtype[4]) << (mvars->mtype[4]==NULL ? "" : "\n" )
<< (mvars->mtype[5]==NULL ? "" : "MimeType 5: ") << (mvars->mtype[5]==NULL ? "" : mvars->mtype[5]) << (mvars->mtype[5]==NULL ? "" : "\n" )
<< (mvars->mtype[6]==NULL ? "" : "MimeType 6: ") << (mvars->mtype[6]==NULL ? "" : mvars->mtype[6]) << (mvars->mtype[6]==NULL ? "" : "\n" )
<< (mvars->mtype[7]==NULL ? "" : "MimeType 7: ") << (mvars->mtype[7]==NULL ? "" : mvars->mtype[7]) << (mvars->mtype[7]==NULL ? "" : "\n" )
<< (mvars->mtype[8]==NULL ? "" : "MimeType 8: ") << (mvars->mtype[8]==NULL ? "" : mvars->mtype[8]) << (mvars->mtype[8]==NULL ? "" : "\n" )
<< (mvars->mtype[9]==NULL ? "" : "MimeType 9: ") << (mvars->mtype[9]==NULL ? "" : mvars->mtype[9]) << (mvars->mtype[9]==NULL ? "" : "\n" )
<< (mvars->fdata[0]==NULL ? "" : "File Data 0: ") << (mvars->fdata[0]==NULL ? "" : "TRUE") << (mvars->fdata[0]==NULL ? "" : "\n" )
<< (mvars->fdata[1]==NULL ? "" : "File Data 1: ") << (mvars->fdata[1]==NULL ? "" : "TRUE") << (mvars->fdata[1]==NULL ? "" : "\n" )
<< (mvars->fdata[2]==NULL ? "" : "File Data 2: ") << (mvars->fdata[2]==NULL ? "" : "TRUE") << (mvars->fdata[2]==NULL ? "" : "\n" )
<< (mvars->fdata[3]==NULL ? "" : "File Data 3: ") << (mvars->fdata[3]==NULL ? "" : "TRUE") << (mvars->fdata[3]==NULL ? "" : "\n" )
<< (mvars->fdata[4]==NULL ? "" : "File Data 4: ") << (mvars->fdata[4]==NULL ? "" : "TRUE") << (mvars->fdata[4]==NULL ? "" : "\n" )
<< (mvars->fdata[5]==NULL ? "" : "File Data 5: ") << (mvars->fdata[5]==NULL ? "" : "TRUE") << (mvars->fdata[5]==NULL ? "" : "\n" )
<< (mvars->fdata[6]==NULL ? "" : "File Data 6: ") << (mvars->fdata[6]==NULL ? "" : "TRUE") << (mvars->fdata[6]==NULL ? "" : "\n" )
<< (mvars->fdata[7]==NULL ? "" : "File Data 7: ") << (mvars->fdata[7]==NULL ? "" : "TRUE") << (mvars->fdata[7]==NULL ? "" : "\n" )
<< (mvars->fdata[8]==NULL ? "" : "File Data 8: ") << (mvars->fdata[8]==NULL ? "" : "TRUE") << (mvars->fdata[8]==NULL ? "" : "\n" )
<< (mvars->fdata[9]==NULL ? "" : "File Data 9: ") << (mvars->fdata[9]==NULL ? "" : "TRUE") << (mvars->fdata[9]==NULL ? "" : "\n" )
<< (mvars->body==NULL ? "" : "Body: ") << (mvars->body==NULL ? "" : mvars->body) << (mvars->body==NULL ? "" : "\n" )
<< "\"" << endl;
//errstring=errmsg.str();
std::cerr << errstring;
/*
#ifdef WIN32
if(!mvars->ignerr) {
//system("ok.exe ERRORDIALOG \"ERROR SENDING EMAIL\" \"No Email Recipients Specified...\"");
system(errstring.c_str());
}
#else
if(!mvars->ignerr) {
//system("ok.lnx ERRORDIALOG \"ERROR SENDING EMAIL\" \"No Email Recipients Specified...\"");
system(errstring.c_str());
}
#endif
*/
return (1);
}
try
{
vmime::messageBuilder mb;
ostringstream ostream1;
if((mvars->from_name==NULL)&&(mvars->from_addr!=NULL)) {
ostream1 << " <" << mvars->from_addr << ">";
}else if((mvars->from_name!=NULL)&&(mvars->from_addr!=NULL)) {
ostream1 << mvars->from_name << " <" << mvars->from_addr << ">";
}else{
}
//std::cout <<stream1.str() << std::endl;
// Fill in the basic fields
mb.setExpeditor(vmime::mailbox(ostream1.str()));
vmime::addressList from;
//.........这里部分代码省略.........