Ц++ __ФИЛЕ__ макро

C File Makro



Макрои су неки део кода у неком скрипту који има неко специфично име. Када се изврши било који од макроа, извршава се код иза њих да изврши одређени задатак. Баш тако, __ФИЛЕ__ је макро који се користи у језику Ц++ за добијање путање до одређене датотеке. Дакле, данас ћемо у овом водичу разговарати о раду Ц++ __ФИЛЕ__ макроа.

Пример 01:

Узмимо први пример макроа __ФИЛЕ__ у Ц++ тако што ћемо покренути апликацију терминалске конзоле. Можда користите пречицу „Цтрл+Алт+Т“ да бисте то урадили. Други начин да отворите љуску је да користите мени Област активности ако сте заборавили пречицу. Након што се терминалска конзола покрене на екрану, покушајте да креирате нову Ц++ датотеку да бисте у њој урадили код. Датотека се може креирати једноставним упитом „додиром“, као што је приказано на приложеној слици испод. Име новокреиране датотеке мора бити дато кључном речи „тоуцх“.







Мора да постоји неки уређивач инсталиран на вашем Убунту 20.04 Линук систему да бисте га користили за кодирање и отварање новостворених датотека. Најпрепоручљивији уређивачи који су широко познати међу корисницима Линука су ГНУ Нано и Вим едитор. Осим тога, уређивач текста се такође може користити у случају да оба претходно поменута уредника не раде. Дакле, већ смо инсталирали ГНУ Нано едитор. Стога ћемо га користити за отварање и уређивање датотеке да бисмо направили код. Користите кључну реч „нано“ заједно са именом датотеке да би уређивач радио.





Сада је новокреирана Ц++ датотека мацро.цц спремна за кодирање у уређивачу. Почнимо са имплементацијом Ц++ кода док имплементирамо овај чланак да бисмо видели како функционише макро __ФИЛЕ__. Наш Ц++ код смо започели додавањем стандардног улазно-излазног заглавља на његов врх. За то је коришћена кључна реч „инцлуде“ са знаком хеш. Без овог заглавља, улаз и излаз Ц++ кода неће радити на конзоли након компилације и извршења.





Метод маин() је основни стуб нашег кода пошто извршење почиње од њега и завршава се у њему. У оквиру маин() методе, стварни посао ће бити обављен. Користили смо једнолинијски код у нашој методи маин() да опишемо функционалност макроа __ФИЛЕ__. Дакле, овде је коришћена изјава принтф, узимајући две вредности као аргументе, тј. стринг узимајући име датотеке и макро функцију.

Макро __ФИЛЕ__ се овде користи за добијање тренутне путање датотеке или њеног имена. Док се „%С“ користи за штампање тренутне путање датотеке или њеног имена унутар стринга. Морате да сачувате свој код пре извршења уз помоћ пречице „Цтрл+С“. Сада је код сачуван, покушајте да се вратите на терминал љуске користећи пречицу „Цтрл+Кс“.



Пошто смо завршили са Ц++ кодом за макро __ФИЛЕ__, почнимо са компилацијом Ц++ кода. За компилацију, већ смо инсталирали г++ компајлер за превођење Ц++ кода. Дакле, г++ компајлер је коришћен у терминалу за превођење датотеке „мацро.цц“. Након компилације, не враћа ништа, што указује да је Ц++ код унутар датотеке мацро.цц семантички исправан. Након компилације, на ред долази извршавање кода. Да бисмо покренули датотеку кода, обично користимо једноставан упит „./.аоут“. Након покретања датотеке мацро.цц, добили смо име датотеке као заузврат. Овако ради Ц++ __ФИЛЕ__ макро.

Пример 02:

Хајде да погледамо још један пример да погледамо функционалност Ц++ __ФИЛЕ__ макроа у Убунту 20.04 систему. Као што смо видели како Ц++ макро __ФИЛЕ__ функционише када се користи за преузимање путање датотеке у којој је поменут.

Сада ћемо користити Ц++ __ФИЛЕ__ макро да добијемо путању до датотеке или име датотеке која није датотека на којој тренутно радимо. Дакле, отворили смо исту датотеку мацро.цц у уређивачу ГНУ Нано да ажурирамо код. Додали смо стандардно улазно-излазно заглавље са кључном речи инцлуде и иницијализовали функцију маин() са целобројним повратним типом.

У оквиру маин() методе, прва изјава за штампање је иста као и стара да би се добила тренутна путања датотеке на којој тренутно радимо. Након тога, користили смо кључну реч #лине са другим именом датотеке, тј. „нев.ткт“ у следећем узастопном реду. Ово је да наведемо датотеку која није тренутна датотека за коју ћемо добити њено име или путању. Следећи принтф израз је коришћен за штампање путање датотеке „нев.ткт“ уз помоћ Ц++ __ФИЛЕ__ макроа. Сачувајте свој ново ажурирани код да бисте избегли било какве непријатности током компилације. Користите „Цтрл+С“ да бисте то урадили.

Након што сачувате ажурирану датотеку, затворите је помоћу „Цтрл+Кс“ са тастатуре. Сада смо поново на екрану љуске.

Хајде да компајлирамо ажурирану датотеку. Користите г++ компајлер да то урадите са именом датотеке мацро.цц. Након успешне компилације, покрените код са командом “./а.оут” у конзоли. Излаз прво приказује путању до тренутне датотеке, а затим путању до друге датотеке, „нев.ткт“ је приказано на екрану љуске. Погледајте како је лако користити макро __ФИЛЕ__ за приказ путање датотеке на љусци.

Пример 03:

Хајде да погледамо макро __ЛИНЕ__ заједно са макроом __ФИЛЕ__ у Ц++. Макро __ЛИНЕ__ ће приказати број реда датотеке на којој је коришћен макро. Дакле, отворите исту датотеку и ажурирајте обе изјаве принтф. Пре Ц++ __ЛИНЕ__ макроа, додали смо Ц++ __ЛИНЕ__ макро. Овај __ЛИНЕ__макро добија број линије тренутне датотеке где је __ФИЛЕ__ први. Док ће следећи макро __ЛИНЕ__ добити број прве линије друге датотеке јер смо већ поменули број реда са именом датотеке у коду.

Након што смо сачували и затворили датотеку, вратили смо се на терминал љуске. Користимо исту г++ команду за компајлирање кода датотеке Ц++ мацро.цц. Успешна компилација води до команде за извршење. Сада се за то користи команда “./а.оут”. Извршење нам говори да је прва датотека, односно тренутна датотека у реду 3, док је макро __ФИЛЕ__ у првом реду друге датотеке поменуте у коду.

Закључак:

Овај чланак садржи дефиницију макроа и говори о употреби Ц++ __ФИЛЕ__ макроа у систему Убунту 20.04. О Ц++ __ЛИНЕ__ макроу се такође расправљало у неким примерима да би се више илустровало рад Ц++ __ФИЛЕ__ макроа. Да резимирамо, надамо се да ће вам овај чланак помоћи са Ц++ __ФИЛЕ__макроом у свом најбољем издању.