• Регистрация
TItnaium_IDK
TItnaium_IDK 0.00
н/д

Как заменить определенный текст (определенные строки) в .c (.txt) файле, используя .m скрипт?

Здравствуйте!
Возникла необходимость менять некоторое строчки в сишном файле автоматически, используя матлабовский скрипт. 

Прошерстил весь интернет, в т.ч. англоязычные форумы, не смог ничего найти.

Нашел только как сконвертировать из .c в .txt и обратно, но обработать правильно текстовик тоже не получилось

Вот так я конвертировал:

 fn='qwe.c';
 [~,f]=fileparts(fn);
 movefile(fn,[f '.txt'])

% тут должна быть замена строк

 fn='qwe.txt';
 [~,f]=fileparts(fn);
 movefile(fn,[f '.c'])

 

У меня есть исходный файл си:

// lasdi
//oweifu

If cnt >- iwefi (124) (1834)

asd_range_32V;

void VCU_SW_GetAI100msec_Init(void)
{
  /* Start for S-Function (adcGetValue_ttc500): '<S263>/adcGetValue1' */

  // Initialization of ADC IO_ADC_16 channel
  IO_ADC_ChannelInit(IO_ADC_16,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_RANGE_5V,
                     IO_ADC_NO_PULL,
                     IO_PIN_NONE,
                     NULL);
					 
}

  /* Start for S-Function (adcGetValue_ttc500): '<S263>/adcGetValue1' */

  // Initialization of ADC IO_ADC_16 channel
  IO_ADC_ChannelInit(IO_ADC_16,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_RANGE_5V,
                     IO_ADC_NO_PULL,
                     IO_PIN_NONE,
                     NULL);

  /* Start for S-Function (adcGetValue_ttc500): '<S263>/adcGetValue3' */

  // Initialization of ADC IO_ADC_56 channel
  IO_ADC_ChannelInit(IO_ADC_56,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_NO_RANGE:,
                     IO_ADC_PD_10K,
                     IO_PIN_NONE,
                     NULL);

  /* Start for S-Function (adcGetValue_ttc500): '<S263>/adcGetValue' */

  // Initialization of ADC IO_ADC_49 channel
  IO_ADC_ChannelInit(IO_ADC_49,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_NO_RANGE,
                     IO_ADC_NO_PULL,
                     IO_PIN_NONE,
                     NULL);

  IO_ADC_ChannelInit(IO_ADC_16,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_RANGE_5V,
                     IO_ADC_NO_PULL,
                     IO_PIN_NONE,
                     NULL);

  /* Start for S-Function (adcGetValue_ttc500): '<S263>/adcGetValue3' */

  // Initialization of ADC IO_ADC_56 channel
  IO_ADC_ChannelInit(IO_ADC_56,
                     IO_ADC_ABSOLUTE,
                     IO_ADC_NO_RANGE:,
                     IO_ADC_PD_10K,
                     IO_PIN_NONE,
                     NULL);

oqw
qweq
we

*в приложении вложил данный файлик

Здесь нужно найти строчки "IO_ADC_NO_RANGE:," и заменить их на "IO_ADC_RANGE_32V,".

Как это можно сделать в .m-файле, и можно ли сделать вообще?
Заранее благодарю


Файлы

  • qwe.c

Теги

    20.09.2022

    Ответы

      Ближайшие события