Pašas C programmas avota koda drukāšana atšķiras no Kvina problēmas. Šeit mums ir jāmaina jebkura C programma tā, lai tā izdrukātu visu avota kodu.
Ieteicams: lūdzu, izmēģiniet savu pieeju {iet} vispirms, pirms pāriet pie risinājuma.
Pieeja
- Izmantojiet iepriekš definētu makro __FILE__, lai iegūtu faila atrašanās vietu.
- Atveriet avota koda failu lasīšanas režīmā un iegūstiet faila rādītāju fptr. Pārbaudiet, vai fails ir veiksmīgi atvērts.
- Izlasiet visu faila saturu, izmantojot do-while cilpu un fgetc.
- Aizveriet failu, izmantojot fclose funkciju.
1. FAILA makro metode (faila nosaukuma drukāšana)
Mēs varam izmantot failu apstrādes jēdzienus, lai izdrukātu programmas pirmkodu kā izvadi. Ideja ir parādīt saturu no tā paša faila, kurā rakstāt avota kodu. C programmēšanas faila atrašanās vieta ir ietverta iepriekš definētā makro __FILE__.
Zemāk ir C programma, kas jāizmanto __FILE__:
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__); }
Iepriekš minētās programmas izvade ir šī C faila atrašanās vieta.

Īstenošana
Šī programma parāda šī konkrētā C faila (avota koda) saturu, jo __FILE__ virknē satur šī C faila atrašanās vietu.
2. Parādiet programmu
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; }
Izvade:
Izveidojiet viktorīnu