Как заменить определенный текст (определенные строки) в .c (.txt) файле, используя .m скрипт?
20.09.2022
Здравствуйте!
Возникла необходимость менять некоторое строчки в сишном файле автоматически, используя матлабовский скрипт.
Прошерстил весь интернет, в т.ч. англоязычные форумы, не смог ничего найти.
Нашел только как сконвертировать из .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-файле, и можно ли сделать вообще?
Заранее благодарю
Ответы
Например
Результат