Сейчас на форуме: Kybyx (+3 невидимых)

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


Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 28 августа 2014 15:29 · Поправил: Crawler
· Личное сообщение · #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.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

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

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

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


-----
Следуй за белым кроликом


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


Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

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

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

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

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

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


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

Code:
  1. ", "


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

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 49.3 (посетитель), 43thx
Активность: 0.060
Статус: Участник

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

В эксэле вбиваешь 1 2 3 потом тянешь за правый нижний угол ячейки


 eXeL@B —› Оффтоп —› Visual Studio и автоматическая подстановка индексов

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

   Для печати Для печати