C++ Как записать строки в файл

  • Автор темы Автор темы SHADOU
  • Дата начала Дата начала
yougame.biz
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
13 Сен 2019
Сообщения
241
Реакции
51
1.4. Запрещено в названиях тем и тегах использовать ненормативную лексику, а также названия не объясняющими вкратце её сути: «Помогите», "Проблема" и им подобные.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
[c++] как в записать строки из функции файл 75 строчка
C++:
Expand Collapse Copy
#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <ws2tcpip.h>
#include <iostream>
#include <fstream>
#pragma comment(lib, "Iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
void ListIpAddresses() {
    IP_ADAPTER_ADDRESSES* adapter_addresses(NULL);
    IP_ADAPTER_ADDRESSES* adapter(NULL);

    DWORD adapter_addresses_buffer_size = 16 * 1024;

    // Get adapter addresses
    for (int attempts = 0; attempts != 3; ++attempts) {
        adapter_addresses = (IP_ADAPTER_ADDRESSES*)malloc(adapter_addresses_buffer_size);

        DWORD error = ::GetAdaptersAddresses(AF_UNSPEC,
            GAA_FLAG_SKIP_ANYCAST |
            GAA_FLAG_SKIP_MULTICAST |
            GAA_FLAG_SKIP_DNS_SERVER |
            GAA_FLAG_SKIP_FRIENDLY_NAME,
            NULL,
            adapter_addresses,
            &adapter_addresses_buffer_size);

        if (ERROR_SUCCESS == error) {
            break;
        }
        else if (ERROR_BUFFER_OVERFLOW == error) {
            // Try again with the new size
            free(adapter_addresses);
            adapter_addresses = NULL;
            continue;
        }
        else {
            // Unexpected error code - log and throw
            free(adapter_addresses);
            adapter_addresses = NULL;
            return;
        }
    }

    // Iterate through all of the adapters
    for (adapter = adapter_addresses; NULL != adapter; adapter = adapter->Next) {
        // Skip loopback adapters
        if (IF_TYPE_SOFTWARE_LOOPBACK == adapter->IfType) continue;

        printf("[ADAPTER]: %S\n", adapter->Description);
        printf("[NAME]:    %S\n", adapter->FriendlyName);

        // Parse all IPv4 addresses
        for (IP_ADAPTER_UNICAST_ADDRESS* address = adapter->FirstUnicastAddress; NULL != address; address = address->Next) {
            auto family = address->Address.lpSockaddr->sa_family;
            if (AF_INET == family) {
                SOCKADDR_IN* ipv4 = reinterpret_cast<SOCKADDR_IN*>(address->Address.lpSockaddr);
                char str_buffer[16] = { 0 };
                inet_ntop(AF_INET, &(ipv4->sin_addr), str_buffer, 16);

                printf("[IP]:      %s\n", str_buffer);
            }
        }
        printf("\n");
    }

    free(adapter_addresses);
    adapter_addresses = NULL;
}
int main() {
    
    std::string filename = "filename.txt";
        std::ofstream o(filename.c_str());
        o << "all connects ---///---///---///---///---///---///---///---///---" << std::endl;
        o << ListIpAddresses() << std::endl; // как это сделать ебана в рот
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
void add_log(const char *fmt ...)
{
    char buf[1024] = { 0 };
    va_list va_alist;
    ofstream ofile;

    va_start(va_alist, fmt);
    vsnprintf_s(buf, sizeof(buf), fmt, va_alist);
    va_end(va_alist);
    ofile.open("ILog.log", ios::app);
    if (ofile.fail()) return;
    ofile << buf << endl;
    ofile.close();
}

Вместо printf пишешь add_log
 
Назад
Сверху Снизу