Как заменить значение в строке файла другим значением? - PullRequest
0 голосов
/ 28 февраля 2019

Моя задача - заменить строку другой строкой в ​​строке файла.Я все еще начинаю учиться на C programming языке и сталкиваюсь с некоторыми проблемами.Я должен найти строки, начинающиеся с #define, получить их значения и удалить их.Затем, где бы ни появлялось имя константы, оно должно быть заменено его значением.Я уже сохранил определения значений из файла, но у меня есть некоторые трудности при замене имен констант на их значения.До сих пор у меня есть два массива, в которых я сохранил имена констант и значения:

char constant_names[256];
char constant_values[256];

Буду очень благодарен, если вы сможете дать мне несколько идей о решении задачи.

1 Ответ

0 голосов
/ 01 марта 2019

Буду очень благодарен, если вы сможете дать мне несколько идей по поводу решения задачи

Поскольку ОП ищет идеи:

Ключевой вопросчто строка шаблона и его замещающая строка могут иметь различную длину.

Считать и обработать каждую строку и сохранить в другой файл.


Псевдокод:

Open file for reading
Open a temp file for writing
For each line
  if "define" found
    add to internal substitution list
  else 
    if a substitutable token found
      perform substitutions
    write line to temp file

close files
rename original file to tmp2
rename tmp file to original
if no errors anywhere
  delete tmp2

Я бы ожидал около 100-200 строк кода C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...