// heart.c
// Prints a red ASCII heart with "navya love lavesh" centered inside.
// Works on UNIX terminals. On Windows 10+ it will try to enable ANSI support.
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
void enable_vt_mode(void) {
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
if (hOut == INVALID_HANDLE_VALUE) return;
DWORD dwMode = 0;
if (!GetConsoleMode(hOut, &dwMode)) return;
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(hOut, dwMode);
}
#else
void enable_vt_mode(void) { /* nothing needed on most UNIX-like terminals */ }
#endif
int main(void) {
enable_vt_mode();
// ANSI color codes
const char *RED = "\x1b[31m";
const char *RESET = "\x1b[0m";
// We'll print an ASCII heart; line that contains the message centers it.
// Keep the message exactly as requested:
const char *msg = "navya love lavesh";
printf("%s *** *** %s\n", RED
, RESET
); printf("%s ******* ******* %s\n", RED
, RESET
); printf("%s ********* ********* %s\n", RED
, RESET
); printf("%s ************************ %s\n", RED
, RESET
); printf("%s ************************** %s\n", RED
, RESET
);
// Row with message centered inside the heart
// We'll place the message padded inside the red area
printf("%s************************%s %s %s************************%s\n", RED, RESET, msg, RED, RESET);
printf("%s ************************%s\n", RED
, RESET
); printf("%s ********************** %s\n", RED
, RESET
); printf("%s ******************** %s\n", RED
, RESET
); printf("%s **************** %s\n", RED
, RESET
); printf("%s ************ %s\n", RED
, RESET
);
return 0;
}
Ci8vIGhlYXJ0LmMKLy8gUHJpbnRzIGEgcmVkIEFTQ0lJIGhlYXJ0IHdpdGggIm5hdnlhIGxvdmUgbGF2ZXNoIiBjZW50ZXJlZCBpbnNpZGUuCi8vIFdvcmtzIG9uIFVOSVggdGVybWluYWxzLiBPbiBXaW5kb3dzIDEwKyBpdCB3aWxsIHRyeSB0byBlbmFibGUgQU5TSSBzdXBwb3J0LgoKI2luY2x1ZGUgPHN0ZGlvLmg+CgojaWZkZWYgX1dJTjMyCiNpbmNsdWRlIDx3aW5kb3dzLmg+CnZvaWQgZW5hYmxlX3Z0X21vZGUodm9pZCkgewogICAgSEFORExFIGhPdXQgPSBHZXRTdGRIYW5kbGUoU1REX09VVFBVVF9IQU5ETEUpOwogICAgaWYgKGhPdXQgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHJldHVybjsKICAgIERXT1JEIGR3TW9kZSA9IDA7CiAgICBpZiAoIUdldENvbnNvbGVNb2RlKGhPdXQsICZkd01vZGUpKSByZXR1cm47CiAgICBkd01vZGUgfD0gRU5BQkxFX1ZJUlRVQUxfVEVSTUlOQUxfUFJPQ0VTU0lORzsKICAgIFNldENvbnNvbGVNb2RlKGhPdXQsIGR3TW9kZSk7Cn0KI2Vsc2UKdm9pZCBlbmFibGVfdnRfbW9kZSh2b2lkKSB7IC8qIG5vdGhpbmcgbmVlZGVkIG9uIG1vc3QgVU5JWC1saWtlIHRlcm1pbmFscyAqLyB9CiNlbmRpZgoKaW50IG1haW4odm9pZCkgewogICAgZW5hYmxlX3Z0X21vZGUoKTsKCiAgICAvLyBBTlNJIGNvbG9yIGNvZGVzCiAgICBjb25zdCBjaGFyICpSRUQgPSAiXHgxYlszMW0iOwogICAgY29uc3QgY2hhciAqUkVTRVQgPSAiXHgxYlswbSI7CgogICAgLy8gV2UnbGwgcHJpbnQgYW4gQVNDSUkgaGVhcnQ7IGxpbmUgdGhhdCBjb250YWlucyB0aGUgbWVzc2FnZSBjZW50ZXJzIGl0LgogICAgLy8gS2VlcCB0aGUgbWVzc2FnZSBleGFjdGx5IGFzIHJlcXVlc3RlZDoKICAgIGNvbnN0IGNoYXIgKm1zZyA9ICJuYXZ5YSBsb3ZlIGxhdmVzaCI7CgogICAgcHJpbnRmKCJcbiIpOwogICAgcHJpbnRmKCIlcyAgICAgICoqKiAgICAgICAqKiogICAgICAlc1xuIiwgUkVELCBSRVNFVCk7CiAgICBwcmludGYoIiVzICAgICoqKioqKiogICAqKioqKioqICAgICVzXG4iLCBSRUQsIFJFU0VUKTsKICAgIHByaW50ZigiJXMgICAqKioqKioqKiogKioqKioqKioqICAgJXNcbiIsIFJFRCwgUkVTRVQpOwogICAgcHJpbnRmKCIlcyAgKioqKioqKioqKioqKioqKioqKioqKioqICAlc1xuIiwgUkVELCBSRVNFVCk7CiAgICBwcmludGYoIiVzICoqKioqKioqKioqKioqKioqKioqKioqKioqICVzXG4iLCBSRUQsIFJFU0VUKTsKCiAgICAvLyBSb3cgd2l0aCBtZXNzYWdlIGNlbnRlcmVkIGluc2lkZSB0aGUgaGVhcnQKICAgIC8vIFdlJ2xsIHBsYWNlIHRoZSBtZXNzYWdlIHBhZGRlZCBpbnNpZGUgdGhlIHJlZCBhcmVhCiAgICBwcmludGYoIiVzKioqKioqKioqKioqKioqKioqKioqKioqJXMgJXMgJXMqKioqKioqKioqKioqKioqKioqKioqKiolc1xuIiwKICAgICAgICAgICBSRUQsIFJFU0VULCBtc2csIFJFRCwgUkVTRVQpOwoKICAgIHByaW50ZigiJXMgKioqKioqKioqKioqKioqKioqKioqKioqJXNcbiIsIFJFRCwgUkVTRVQpOwogICAgcHJpbnRmKCIlcyAgKioqKioqKioqKioqKioqKioqKioqKiAgJXNcbiIsIFJFRCwgUkVTRVQpOwogICAgcHJpbnRmKCIlcyAgICoqKioqKioqKioqKioqKioqKioqICAgJXNcbiIsIFJFRCwgUkVTRVQpOwogICAgcHJpbnRmKCIlcyAgICAqKioqKioqKioqKioqKioqICAgICVzXG4iLCBSRUQsIFJFU0VUKTsKICAgIHByaW50ZigiJXMgICAgICAqKioqKioqKioqKiogICAgICAlc1xuIiwgUkVELCBSRVNFVCk7CiAgICBwcmludGYoIlxuIik7CgogICAgcmV0dXJuIDA7Cn0K