Поскольку вы не можете изменить структуру данных, рекомендуется использовать дополнительные инструменты текстового редактора, чтобы написать эти строки для вас. Это не самый ортодоксальный способ справиться с этим, но он работает, и это по крайней мере быстро и понятно. В Emacs, я хотел бы рассмотреть два варианта:
1: написать цикл, который генерирует отформатированную строку для вас:
(defun copy_iter (strng times)
(let ((result))
(dotimes (i times result)
(setq result (concat result "\n" (format strng i))))))
И вызова (copy_iter "CU_ASSERT_EQUAL(55, my_tab_%s[5]);" 200)
будет возвращать то, что вы ожидаете
2: скопируйте общую строку 200 раз, а затем замените маркер с помощью регулярных выражений:
1) скопируйте строку с общим маркером 200 раз (here как):
"
CU_ASSERT_EQUAL(55, my_tab_<CHANGE_THIS>[5]);
CU_ASSERT_EQUAL(55, my_tab_<CHANGE_THIS>[5]);
CU_ASSERT_EQUAL(55, my_tab_<CHANGE_THIS>[5]);
CU_ASSERT_EQUAL(55, my_tab_<CHANGE_THIS>[5]);
CU_ASSERT_EQUAL(55, my_tab_<CHANGE_THIS>[5]);
...
2) называют замену на регулярное выражение, с входом: <CHANGE_THIS>
и выход: \#
также оставил ожидаемую строку, как описано here.
Конечно, emacs - всего лишь предложение. Главный момент моего ответа - показать, что иногда (или довольно много раз) текстовый редактор сам может помочь нам преодолеть такие проблемы. Я надеюсь, что это помогает!
Приветствия
Вопрос: Почему у вас есть 'n' массивы, а не массив, содержащий ваши массивы? – RichouHunter
Я бы рекомендовал использовать массив массивов. Например, 'char my_tab [200] [5];' –
Я не могу изменить свою структуру данных. – Jguillot