Frage

Hey, mein Qt C ++ Programm hat einen Teil, in dem er die ersten 128 Zeichen senden muss oder so von der Ausgabe eines bash Befehl an eine E-Mail-Adresse. Die Ausgabe aus dem tty wird in einem Textfeld in meinem gui textEdit_displayOutput und in meine Botschaft, die ich den Message Builder gebaut erfaßt unter Verwendung (das Objekt m_vmMessage) Hier ist der relevante Code-Snippet:

m_vmMessage.getTextPart()->setCharset( vmime::charsets::US_ASCII );
m_vmMessage.getTextPart()->setText( vmime::create < vmime::stringContentHandler > ( ui->textEdit_displayOutput->toPlainText().toStdString() ) );
vmime::ref < vmime::message > msg = m_vmMessage.construct();
vmime::utility::outputStreamAdapter out( std::cout );
msg->generate( out );

Geben bash 'ls /' und eine neue Zeile macht vmime geben Terminal-Ausgabe wie folgt aus:

ls /=0Abin    etc=09   initrd.img.old  mnt=09 sbin=09  tmp=09   vmlinuz.o=
ld=0Aboot   farts=09   lib=09=09   opt=09 selinux  usr=0Acdrom  home=09  =
 lost+found=09   proc  srv=09  var=0Adev    initrd.img  media=09   root  =

Während es aussehen soll wie folgt aus:

ls /
bin    etc     initrd.img.old  mnt   sbin     tmp      vmlinuz.old
boot   farts       lib         opt   selinux  usr
cdrom  home    lost+found      proc  srv      var
dev    initrd.img  media       root  sys      vmlinuz
18:22>

Ausgabe scheint ‚root‘ abgeschnitten um zu nichts, nachdem er angezeigt wird.

Wie kann ich encodieren und Stück zusammen richtig die E-Mail? Hat vmime es genau wie absichtlich, dass Anzeige und dem tatsächlichen Inhalt der E-Mail ist vollständig und richtig formatiert?

Danke!

Keine korrekte Lösung

Andere Tipps

=0A ist ein Zeilenvorschub (LF).
=09 ist eine horizontale Lasche (HT).

Ich denke, diese Art und Weise nur Mimes ist Ihre Nicht-Druck (Kontrolle) Zeichen codieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top