eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: rmn (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Оффтоп —› Visual Studio и автоматическая подстановка индексов
Посл.ответ Сообщение


Ранг: 210.0 (наставник)
Статус: Участник
X-Literator

Создано: 28 августа 2014 15:29 · Поправил: Crawler New!
Цитата · Личное сообщение · #1

Возможно, очень нубский вопрос, но тем не менее.

Допустим, нужно запилить из некоего списка большой массив (например, из сотни элементов) вида:

arr [0] = "q";
arr [1] = "abcdef";
...
arr [99] = "zzz";

Есть ли плагины, которые автоматически проставляют индексы массива (что-то вроде такого: выделил блок текста, нажал комбинацию клавиш, и индексы 1-99 проставились)?

Может, в MS VS есть встроенная возможность? Можно, конечно, запилить текст в ресурсы, но в моем случае это неудобно.


Есть один способ, но все-таки не совсем то.

Method 3 -- Multidimensional Arrays

Code:
  1. char stuff[][10] =  {
  2.    "0123456789",
  3.    ...
  4.    "0123456789"  };


The value 10 is not important EXCEPT that it must match the actual length of the string constants. If any of the constants are shorter than the length specified, the end of that row will be padded out with zero bytes. If any are longer, the extra characters will be thrown away. This results in a two dimensional array. Another pointer can be used to access the following in almost any method desired:

Code:
  1. char *stuffptr = (char *) stuff;


This method seems to be the most convenient. The big problem with using a pointer to try and address the array as a single dimensional array is that the extra null characters make counting difficult, particularly if all the initializer strings are not the same length. Thus stuffptr[97] may not access the element you expect unless you count very carefully.


Ранг: 165.6 (ветеран)
Статус: Участник
Волшебник

Создано: 28 августа 2014 15:41 New!
Цитата · Личное сообщение · #2

Такая инициализация не устраивает?

Code:
  1. char *arr[] = {
  2.          "q", "abcdef", ..., "zzz"
  3. };

| Сообщение посчитали полезным: Crawler



Ранг: 210.0 (наставник)
Статус: Участник
X-Literator

Создано: 28 августа 2014 15:45 · Поправил: Crawler New!
Цитата · Личное сообщение · #3

neomant, ыы, только что поправил заглавный пост)

Ну, можно, в принципе)

Нашел удобный способ делать из большого списка такую инициализацию в Notepad++, кстати.

ctrl+h, расширенный поиск, в поле "найти" вбиваем
Code:
  1.  /r/n


, а в поле "заменить" -

Code:
  1. ", "


Получаем почти готовый для инициализации массив) Хорошее решение. Можно и скрипт на перле написать, в принципе, для превращения текстового файлика, в котором на каждой строке одно значение, в такого вида массив)

Ранг: 49.3 (посетитель)
Статус: Участник

Создано: 28 августа 2014 19:26 New!
Цитата · Личное сообщение · #4

В эксэле вбиваешь 1 2 3 потом тянешь за правый нижний угол ячейки
 eXeL@B —› Оффтоп —› Visual Studio и автоматическая подстановка индексов

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0


Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS