С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Вадимиус
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 14
#1

Не выходит записать данные в массив - C++

10.11.2008, 01:26. Просмотров 1935. Ответов 20
Метки нет (Все метки)

Добрый вечер! Привожу облегчённый фрагмент программы - лексического анализатор. Вобщем не могу понять, как мне записать значение переменной lv в массив символов. lv - тип char[256], содержит значение лексемы (тоесть символ - операторы, переменные, числа и т.п.), которое после записи в файл изменяется по ходу поиска лексем в моей программе. Пробовал даже не в массив,а просто в символьную переменную, или что то ей подобное - либо ругается, либо вообще ошибка при исполнении программы (ну тоесть с предложением отправить отчёт мс для исправления..) Помогите пожалуйста объявить этот массив и записать в него значение lv, чтоб потом можно было к нему обратиться..

Код
#include <fstream.h>
#include <stdio.h>
#include "scaner_ext.h"
#include <string>
using namespace std;

void fprintlex2(FILE* f) 
{
  char* lcs;
  char* lvs;
//здесь нужно объявить массив
  
  switch(lc) 
   {
//прочие варианты..
    case lexId:         lcs="lexId";        lvs=lv;   break;
  
  default:      lcs="nonprinted lex class"; lvs=lv;
  }



  if ((column==0)&&(lc==lexId)) { if (lv=="lab01") { //вот здесь нужно организовать запись в массив
	  };
	
	};

}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2008, 01:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не выходит записать данные в массив (C++):

Ввести данные в файл, и записать данные с файла в массив структур - C++
Ввести все данные в файл, и записать данные с файла в структуру. Помогите ввести и вывести структуру из файла. Допускается - и желательно...

Выделить данные из строчки и записать в массив - C++
Вообщем есть массив mas_chastot И есть файл, в нем имеется столбец или (строка) вида (начинается с # и ей же заканчивается. с...

Как записать данные из файла в массив структур? - C++
В коде я ввожу данные и их записывает в файл, помогите пожалуйста записать данные из файла в массив структур #include &lt;conio.h&gt; ...

Как записать данные из файла в двумерный массив? - C++
Дан файл координат вершин ломаной линии на плоскости. Определить, имеет ли ломаная линия самопересечения, если да, то записать в файл G...

Как считать данные с файла и записать в массив? - C++
В файле данные расположены следующим образом : Radius: 1 Coord point: (5;10) Radius: 5 Coord point: (1;7) Radius: 6 Coord...

Считать из файла данные определенного типа и записать в массив - C++
Подскажите, пожалуйста. Допустим, у меня есть файл text.txt, в котором есть цифры/буквы/символы. Задача сводится к следующему: мне нужно...

20
Вадимиус
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 14
10.11.2008, 19:41 #16
Неа. В lvs и так записывается lv:
Код
case lexId:         lcs="lexId";        lvs=lv;   break;
И мне надо записать значение lv (или lvs, не в том суть) в lts..

Добавлено через 1 час 21 минуту 53 секунды
Я пошёл немного другим путём и теперь возникла вместо старой проблемы новая...
Код
char* lts[10];
объявляю массив вот так, при выполнении программа вылетает, я так думаю из за того, что не выделена память под массив. В таком случае успешным является только вызов первого значения lts[1], а вот lts[2] уже не работает. Вопрос - как объявить массив с выделением памяти под него (в массив будут записываться лексемы - тоесть 'lab01', 'begin' и им подобные данные)
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,766
Завершенные тесты: 1
11.11.2008, 09:35 #17
массив строк можно объявить и инициализировать так:
Код
 char** lts;
 lts = (char**)malloc(255);
 for(int i = 0; i < 255; i++){
   lts[i] = (char*)malloc(10);
   memset(lts[i], ' ', 10);
   cout<<i<<" "<<lts[i];
    }
проще через string...
1
Вадимиус
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 14
11.11.2008, 19:34 #18
Пасиб, щас буду пробовать

Добавлено через 2 часа 20 минут 40 секунд
Не работает.. Снова вылетает так, как будто массиву не выделена память.
Может мне в церковь сходить? А то злой препод видимо проклял моё задание
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,766
Завершенные тесты: 1
12.11.2008, 09:26 #19
оно вылетать может в вдух случаях - либо памяти не выделено, либо просто ты вылез за пределы инициализированной памяти, может 10 байт маловато будет, писани туда 256, чтобы уж наверняка
0
igor_nf
118 / 12 / 1
Регистрация: 21.08.2007
Сообщений: 222
12.11.2008, 10:05 #20
Цитата Сообщение от Вадимиус Посмотреть сообщение
Пасиб, щас буду пробовать

Добавлено через 2 часа 20 минут 40 секунд
Не работает.. Снова вылетает так, как будто массиву не выделена память.
Может мне в церковь сходить? А то злой препод видимо проклял моё задание
Давай сюда свою прогу. Мы избавим тебя от страданий =)
0
Вадимиус
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 14
12.11.2008, 17:35 #21
Вчера сделал втупую, наверняка громоздко, но зато работает наконецто
Код
string word[10]; //простое объявление массива строк
//операторы..и прчоий код
size = strlen(lv);
word[0]=lv;
for (int i=0; i<size; i++) {cout<<word[0][i];} //вывод лексемы
Спасибо за терпение)
0
12.11.2008, 17:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2008, 17:35
Привет! Вот еще темы с ответами:

Считать данные из текстового файла и записать их в массив float-ов - C++
Помогите пожалуйста!!!Очень нужно! как считать данные из txt файла и записать их в массив float на языке с++.

Для каждого столбца найти первый положительный элемент и записать данные в новый массив - C++
Дан массив размером nxn, элементы которого целые числа Для каждого столбца найти первый положительный элемент и записать данные в новый...

В каждом столбце матрицы найти первый положительный элемент и записать данные в новый массив - C++
Помогите пожалуйста составить программу!!! дан массив размером nхn, элементы которого целые числа.для каждого столбца найти первый...

Для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив - C++
2)для каждого столбца подсчитать сумму четных положительных элементов и записать данные в новый массив Замечание:при решении обеих задач...


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

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

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