Форум программистов, компьютерный форум CyberForum.ru

Отправка файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строка http://www.cyberforum.ru/cpp-beginners/thread325069.html
В строке между словами вставить символ /.
C++ Библиотеки #include <iostream.h> #include <vector.h> #include <string.h> #include <algorithm.h> #include <iterator.h> Можете скинуть сылку что б скачать ети библиотеки http://www.cyberforum.ru/cpp-beginners/thread325062.html
C++ Экзамен.
Здравствуйте, форумчане! Понимаю, что неправильно, но завтра экзамен, и нужно сделать программу на C++. Если кому не сложно, помогите пожалуйста, напишите. Спасибо, если кто откликнется! Задача: "Ладья на шахматной доске". Данные класса: координаты ладьи. Функции класса: сравнение позиций двух ладей, проверка, не находится ли ладьи под боем друг друга, проверка, может ли ладья пойти в...
C++ Ввести строку символов, если ее длина четная, удалить 2 первых и 2 последних символа.
Ввести строку символов, если ее длина четная, удалить 2 первых и 2 последних символа. Решить задачу в VC++.
C++ Списки. Как правильней организовать? http://www.cyberforum.ru/cpp-beginners/thread325043.html
Вот текст программы #include <iostream> #include <conio.h> #include <ctime> #include <cstdlib> #include <windows.h> using namespace std; int num,n;
C++ Сортировка массива Всем привет...вот завтра надо сдавать, а что то мой мозг подкипает. В общем суть такова: есть массив, который передаётся в функцию(функцию выложил). Нужно преобразовать так, что бы вначале шли элементы отличающиеся от максимального не более чем на 20%, а дальше все остальные. Привожу саму функцию: void sort(int ar, int n) { int max = 0; int maxi; for (int i = 1; i < n; i++) if... подробнее

Показать сообщение отдельно
zelim
77 / 77 / 4
Регистрация: 26.12.2011
Сообщений: 217
25.02.2012, 18:42     Отправка файла
Цитата Сообщение от igorrr37 Посмотреть сообщение
Юзайте лучше boost. Вот отправка с прикреплённым файлом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
#include <ostream>
#include <string>
#include <fstream>
#include <iterator>
#include <windows.h> // CharToOem
#include <boost/asio.hpp>
#include <boost/archive/iterators/base64_from_binary.hpp>
#include <boost/archive/iterators/transform_width.hpp>
namespace iters=boost::archive::iterators;
typedef boost::asio::ip::tcp tcp;
typedef iters::base64_from_binary<iters::transform_width<std::string::const_iterator, 6, 8>>
    base64_t;
 
boost::asio::streambuf reqBuf, respBuf;
std::ostream reqStream(&reqBuf);
tcp::socket* psock;
 
void SendRequest(std::string s){
    reqStream<<s<<"\r\n";
    boost::asio::write(*psock, reqBuf);
}
 
std::size_t PrintResponse(){
    std::size_t len=boost::asio::read_until(*psock, respBuf, "\r\n");
    std::cout<<&respBuf;
    return len;
}
 
std::string Encode(const std::string& s){
    return std::string(base64_t(s.begin()), base64_t(s.end()));
}
 
int main(){
    try{
        std::ifstream ifs("1.txt"); // прикреплённый файл
        if(!ifs){std::cerr<<"File not found\n"; return 1;}
        std::string str((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()), encStr(Encode(str));
        ifs.close();
        // авторизация на ящик отправителя
        std::string login="name1", encLogin(Encode((login))); //имя
        std::string passw="passw1", encPassw(Encode(passw));  //пароль
        std::string host="smtp.mail.ru"; // почтовый сервер
        boost::asio::io_service io;
        tcp::resolver resolver(io);
        tcp::resolver::query query(host, "25"); //default smtp port
        tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
        tcp::resolver::iterator end;
        tcp::socket sock(io);
        psock=&sock;
        boost::system::error_code error = boost::asio::error::host_not_found;
        while (error && endpoint_iterator != end){
            sock.close();
            sock.connect(*endpoint_iterator++, error);
        }
        if (error) throw boost::system::system_error(error);
        PrintResponse();
        SendRequest("ehlo myhost");
        PrintResponse();
        SendRequest("auth login");//выбираем авторизацию по login
        PrintResponse();
        SendRequest(encLogin);
        PrintResponse();
        SendRequest(encPassw);
        PrintResponse();
        SendRequest("mail from:<name1@mail.ru>");//ящик отправителя
        PrintResponse();
        SendRequest("rcpt to:<name2@yandex.ru>");// ящик получателя
        PrintResponse();
        SendRequest("data");
        PrintResponse();
        SendRequest("from:<name1@mail.ru>");  //это
        SendRequest("to:<name2@yandex.ru>"); //не
        SendRequest("subject: Some subject"); //спам
        SendRequest("Mime-Version: 1.0");
        SendRequest("Content-Type: multipart/mixed; boundary=bound");
        SendRequest("\r\n--bound");
        SendRequest("Content-type: text/plain; charset=windows-1251");
        SendRequest("Content-Transfer-Encoding: quoted-printable\r\n");
        SendRequest("It's letter's text\r\nThis letter has attaching file.");//текст письма
        SendRequest("\r\n--bound");
        SendRequest("Content-Type: text/plain; name=file.txt");
        SendRequest("Content-Transfer-Encoding: base64");
        SendRequest("Content-Disposition: attachment\r\n");
        SendRequest(encStr);
        SendRequest("\r\n--bound--\r\n.");
        PrintResponse();
        SendRequest("quit");
        PrintResponse();
        sock.close();
    }
    catch (std::exception& e){
        char buf[512];
        CharToOem(e.what(), buf);
        std::cout << "Exception: " << buf << "\n";
    }
    return 0;
}
У меня данный пример вылетает с ошибкой string iterator not dereferencable.
Как я понимаю, не может разыменовать. Это только у меня так или как? ))
 
Текущее время: 00:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru