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

c++ работа с файлом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В чём тут дело??? http://www.cyberforum.ru/cpp-beginners/thread234115.html
программы то зфцыкливаются, то вообще ни чего не выводят. Вводится последовательность из N вещественных чисел. Определить среднее арифметическое среди кратных 7 элементов последовательности #include <iostream> using namespace std; int main() {
C++ Программирование разветляющихся вычислительных процессов Выяснить, пересекаются ли кривые у=аx3+bx2+сx+d и y=ex3+fx2+gx+h. При положительном ответе найти точки пересечения. http://www.cyberforum.ru/cpp-beginners/thread234112.html
C++ C++...
Всем привет) Может кто помочь в том, в чём я не шарю?)) Одну из задач так же надо решить на Delphi. 1. Напишите программу, которая для введенного целого трехзначного числа определяет, какая цифра в числе является первой, какая – второй и какая – третьей. 2. Напишите программу, которая по введенному номеру месяца выводит сообщение о том, какое сейчас время года. 3. Напишите программу,...
C++ НОД
Извиняюсь за вопрос, просмотрел все но не нашел того, что нужно Задание: Найти НОД 2 чисел # include <iostream> # include <conio.h> using namespace std; int main(){ int a,b,i; cout<< "vvedite 2 4isla";
C++ на что можно заменить функцию? http://www.cyberforum.ru/cpp-beginners/thread234102.html
#include <vcl.h> #include <iostream.h> #include <iomanip.h> float yearzp(float z); //описание функции годовая 3/п const int m=20; //кол-во символов в строке struct worker //описание структуры {char surname, //Фамилия name; //Имя float zp; //З/п сотрудника за каждый месяц
C++ random number<<is the code true? # include <iostream> using namespace std; void main () { setlocale (LC_ALL,"rus"); int a,b,c,d,count; a = rand()%8+2; b = rand()%8+2; c = 1; count = 0; подробнее

Показать сообщение отдельно
sadok
14 / 14 / 0
Регистрация: 26.01.2011
Сообщений: 64
26.01.2011, 03:42     c++ работа с файлом
Здраствуйте,в си знания - средненькие,мне предоставилась задача - нужно згенерировать файл для ипфильтра торрента,с сайта провайдера мне даётся только перечень адресов с которых трафик-бесплатный,тоесть мы имеем файлик - ip.txt в котором записаны адреса в формате -
22.55.105.30/20

Пишу консольку,вин 32,пустую.

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
#include "table.h"
void main()
{
    setlocale (LC_CTYPE, ".1251"); 
    setlocale (LC_MONETARY, ".1251"); 
    ifstream _in;
    _in.open("ip.txt",ios::_Nocreate);
    if(!_in)
        printf("Ненайден файл ip.txt");
    else 
    {
        cout<<"Файл найден,приступаем:";
        d();//дальше работаем с файлом
    }
    _in.close();
_getch();
}
 
void d()
{
    int num;//количество строк
    int col=0;//количество адресов занесенных в исходный масив
    int n=0;//колтчество знаков до значущой цыфры
    int ncol=3;//на сколько нужно добавить к индексу массива для сходства редактированого и нередактир.
    //равно трём т.к. первая точка встретится на 4-м индексе
    char buffer[20];    
    cout<<"\nоткрываем...";
    cout<<"\nВведите количество строк в файле";
    cin>>num;
    char** buf=new char*[num+1];//масив для наработки вид 0,00,0,000/00
    ifstream _in;
    _in.open("ip.txt");
    for(int i=0;!_in.eof();++i) //подсчет количества строк 
    {           
        _in.getline(buffer,21);
        cout<<'\n'<<buffer;//закоментировать
        buf[i]=buffer;
    }
    char **mas=new char* [num*2+3];//создание вертикального масива в первой ячейке 000,000,000,000 в последней 255,255,255,255
    for(int i=0;i<num;++i)
    {
        n=0;
        for(int x=0;x<20;++i)
        {
            switch(buf[i][x])
            {
            case '.':
                switch(n)//добавляем к ncol 4 потому,что следующая точка будет через 4-е индекса
                {
                case '3':buffer[ncol-3]=buf[i][x-3];buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '1':buffer[ncol-3]='0';buffer[ncol-2]='0';buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '2':buffer[ncol-3]='0';buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                }
                n=0;break;
            case '/':
                switch(n)//добавляем к ncol 4 потому,что следующая точка будет через 4-е индекса
                {
                case '3':buffer[ncol-3]=buf[i][x-3];buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '1':buffer[ncol-3]='0';buffer[ncol-2]='0';buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '2':buffer[ncol-3]='0';buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                }
                n=0;break;
            case '\0':
                switch(n)
                {
                case '3':buffer[ncol-3]=buf[i][x-3];buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '1':buffer[ncol-3]='0';buffer[ncol-2]='0';buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                case '2':buffer[ncol-3]='0';buffer[ncol-2]=buf[i][x-2];buffer[ncol-1]=buf[i][x-1];ncol+=4;break;
                }
                n=0;break;
            default:++n; break;
            }
            
        }
 
    }
    
    
    
 }

ошибку выбивает в свитче,но если использую иф- то ошибка тоже вылетает,насколько я понял у меня незаполняется массив?Код писал с нуля уже 6-й раз,каждый раз пробуя по разному считывать,т.к. в си множество способов.

ошибка - Unhandled exception at 0x00a11946 in ip.exe: 0xC0000005: Access violation reading location 0xcdcdcdcd.
предлагает продолжить или прервать

п.с. пользуюсь Visual Studio 2008
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru