Штампање изворног кода самог Ц програма разликује се од Квајновог проблема. Овде треба да изменимо било који Ц програм на начин да штампа цео изворни код.
Препоручено: Испробајте свој приступ {иде} прво пре него што пређемо на решење.
Приступ
- Користите унапред дефинисани макро __ФИЛЕ__ да бисте добили локацију датотеке.
- Отворите датотеку изворног кода у режиму читања и добијте показивач датотеке фптр. Проверите да ли је датотека успешно отворена или не.
- Прочитајте сав садржај датотеке користећи до-вхиле петљу и фгетц.
- Затворите датотеку помоћу функције фцлосе.
1. ФИЛЕ макро метода (штампање назива датотеке)
Можемо користити концепте руковања датотекама за штампање изворног кода програма као излаза. Идеја је да прикажете садржај из исте датотеке у којој пишете изворни код. Локација Ц датотеке за програмирање се налази унутар унапред дефинисаног макроа __ФИЛЕ__.
Испод је Ц програм за коришћење __ФИЛЕ__:
C // C program to display the // location of the file #include // Driver code int main() { // Prints location of C this C code. printf('%s' __FILE__); }
Излаз горњег програма је локација ове Ц датотеке.

Имплементација
Следећи програм приказује садржај ове одређене Ц датотеке (изворни код) јер __ФИЛЕ__ садржи локацију ове Ц датотеке у низу.
2. Прикажите програм
C// C program that prints its source code. #include // Driver code int main(void) { // We can append this code to any C program // such that it prints its source code. char c; FILE *fp = fopen(__FILE__ 'r'); do { c = fgetc(fp); putchar(c); } while (c != EOF); fclose(fp); return 0; }
Излаз:
Креирај квиз