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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
фрай
Сообщений: n/a
#1

Массив не сохраняется, почему ? - C++

07.06.2007, 15:39. Просмотров 1366. Ответов 1
Метки нет (Все метки)

Вот код.
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
#include <stdio.h>
#include <regex.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#define PACKAGE    "miep"
#define VERSION    "1.0.0"
 
int main() {
 FILE *fp; 
 char *path="ex.html";
 fp=fopen(path, "r") ;
 
 char **links;
 int nLength = 3000;
 links = (char **) malloc (nLength * sizeof (char *));
 int count=0;
 
 char line[1024];
 char delim[] =" <>  \t\n";
 char *url = NULL;
 int retval = 0;
 regex_t re;
 const char *hrefregex="HREF[ \t\r\n]*=[ \t\r\n]*\"*([^>\"]+)";
 if(regcomp(&re, hrefregex, REG_ICASE|REG_EXTENDED) != 0)
  return;
 
 
 while((fgets(line, 1024, fp)) != NULL) {
  url = strtok(line, delim);
  while(url != NULL){
   if((retval = regexec(&re, url, 0, NULL, 0)) == 0){
    char *string[10];
    string[0]=strtok(url,"\"");
        int loop=0;
    if(string[0]==NULL)
    {
         perror("No test to search.\n");
    }
    for(loop=1;loop<10;loop++)
    {
         string[loop]=strtok(NULL,"\"");
         if(string[loop]==NULL)
           break;
    }
    if(string[1] != NULL)
    {
         links[count] = string[1]; // Здесь  я копирую строку в  массив 
        count++;
                printf("%d: %s\n",count,links[count]); // читаю его всё ок
    }
   }
   url = strtok(NULL, delim);
  } 
 }
 int i=0;
links[count] = NULL;
 while(links[i] != NULL)
 {
    printf("3:%s\n",links[i]); // читаю снова массива уже нет ??
    i++;
 }
}
Почему массив перезаписывается ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2007, 15:39     Массив не сохраняется, почему ?
Посмотрите здесь:

Почему не сохраняется в векторе строка? - C++
Здравствуйте! Проблема в том, что строки не сохраняются в векторе строк, хотя передаю их по ссылке: #include &lt;iostream&gt; #include...

При повторном использовании в strncmp не сохраняется введенный символьный массив - C++
Подскажите, по какой причине символьный массив char, заполненный через cin.get(), при повторном использовании в strncmp стирает введенные...

Почему массив не присвоился в другой массив? - C++
#pragma hdstop #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define eof 26 #define max 1000 getline(char s, int lim) { int i,c; ...

Почему массив не переполняется? - C++
Вот в одной книге есть задание создать вектор и скопировать элементы в массив. Почему массив не переполняется в следующем коде, какая-то...

Почему не сортируется массив? - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main(){ int s = 9; ...

Почему не сортируется массив? - C++
using namespace std; void scan(int * mass) { for( int i = 0; i &lt; 10; i++) { cin &gt;&gt; mass ; } } void print ( int * mass...

Почему не сортируется массив? - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); ...

Почему не заносит в массив? - C++
for(int i=0;i&lt;N;++i) { for(int j=0;j&lt;N;++j) { if (k=rand() % 4 == 1) map==WALL; else map==-1; ...

Не сдвигается массив. Почему? - C++
ОЪясните пожалйста в чем моя ошибка..((( #include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; void main() { ...

Почему не выводит на экран массив - C++
вспоминаю С++ и не могу понять почему не выводит на экран массив)и напишите где можно было бы лучше написать и как) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Антон
Сообщений: n/a
08.07.2007, 18:55     Массив не сохраняется, почему ? #2
Попробуй вместо char **links написать char *links или char links[n]
Yandex
Объявления
08.07.2007, 18:55     Массив не сохраняется, почему ?
Ответ Создать тему
Опции темы

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