Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
jack wilshere
2 / 2 / 0
Регистрация: 27.05.2014
Сообщений: 156
1

Запись динамического массива в файл

08.03.2015, 19:37. Просмотров 379. Ответов 0
Метки нет (Все метки)

Добрый вечер! У меня, в общем, проблема следующего характера... Есть программа, копирующая html-код с определённой страницы, а затем этот код нужно записать в блокнот. В принципе, он записывает, но только некоторую часть и с мусором... Вод код проги:
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
99
100
101
102
103
104
105
106
107
108
109
110
#include "stdafx.h"
#include<conio.h>
#include<ctype.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
#include<fstream>
#include<string.h>
#include<stdio.h>
#include <locale.h>
#include <string>
#include <fstream>
#include "winsock2.h"
using namespace std;
#pragma comment (lib,"WSock32.Lib")
 
 
// Необходимые дефайны
#define request "GET /index.shtml HTTP/1.1\r\nHost: www.fcvu.ru\r\n\r\n" //HTML запрос.
#define MAX_PACKET_SIZE         65535
 
 
int main(int argc, char* argv[])
{
int a;
setlocale(LC_ALL,"Rus");
system("mode con cols=126 lines=709");
 
       WSADATA         ws;
        SOCKET          s;
        sockaddr_in     adr;
        hostent*        hn;
        char            buff [MAX_PACKET_SIZE];
 
        // Init
        if (WSAStartup (0x0202, &ws) != 0)
        {
                // Error
                return -1;
        }
 
        // Создаём сокет
        if (INVALID_SOCKET == (s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP) ) )
        {
                // Error
                return -1;
        }
 
 
        // Получаем адрес
        if (NULL == ( hn = gethostbyname ("www.fcvu.ru") ) )
        {
                // Error
                return -1;
        }
 
        // Заполняем  поля структуры adr для использование ее в connect
        adr.sin_family                          = AF_INET;
        adr.sin_addr.S_un.S_addr        = *(DWORD* ) hn->h_addr_list[0];
        adr.sin_port                            = htons (80);
 
        // Устанавливаем соединение с сервером
        if (SOCKET_ERROR == connect (s, (sockaddr* )&adr,  sizeof (adr) ) )
        {
                // Error
                int res = WSAGetLastError ();
                //return -1;
        }
 
        // Посылаем запрос серверу
        if (SOCKET_ERROR == send (s, request, sizeof (request), 0) )
        {
                // Error
                int res = WSAGetLastError ();
                return -1;
        }
 
 
        // Ждём ответа
        int len = 0;
        do
        {
                if (SOCKET_ERROR == (len = recv (s, (char *) &buff, MAX_PACKET_SIZE, 0) ) )
                {
                        int res = WSAGetLastError ();
                        return -1;
                }
                        for (int i = 0; i<len; i++)
                                printf ("%c", buff [i]);
 
        }
        while (len!=0); //Получаем данные по частям, пока не len != 0.
 
        if (SOCKET_ERROR == closesocket (s) )   // закрываем соединенеие. *
        {
                // Error
                return -1;
        }
 
 
 
ofstream fout("C:\\21.txt");
fout <<buff<<endl; // запись строки в файл
fout.close();
 
 
getch();
        return 1;
 
}
В общем, не могу правильно записать массив buff в блокнот...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2015, 19:37
Ответы с готовыми решениями:

Чтение и запись в файл динамического массива классов
Здравствуйте! Столкнулся с проблемой во время написания программы, которая...

Запись динамического массива в файл (не правильно выводит данные)
Выделяю память под массив, заполняю его числами. int *mem_arr; int i;...

Запись и удаление элемента динамического массива
Приветствую всех форумчан (я наверное всем надоел, знаю, но помогите, плз :D) ...

Запись и удаление элемента динамического массива
Такое дело: при вызове функции удаления набранной юзэром ячейки динамического...

Ввод и вывод динамического массива структур в бинарный файл
Добрейшего вечерочка, дамы и господа. Есть программа, которая считывает массив...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2015, 19:37

Запись массива в файл
Имеется структура в массиве. когда ввожу данные например: 2,3,4 7,8,5...

Запись массива в файл
Здравствуйте. Помогите найти ошибку в программе. С клавиатуры вводится...

Запись массива в файл
Есть класс class Figure { protected: Figure() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru