gcc find header files in current directories

I sometimes move my code around to various computers so I prefer to keep my header files in my current directory. Unfortunately it does not seem to be working.

$ gcc *.c -Wall
main.c:1:10: fatal error: mysql.h: No such file or directory
    1 | #include <mysql.h>
      |          ^~~~~~~~~
compilation terminated.

Replacing a string in a function with double pointers

I am trying to replace a string in a function with double pointers. I would like to see this change back in main. What am I doing wrong?

These are the warnings my compiler gave me.

$ gcc *.c -Wall
main.c: In function ‘replacevalue’:
main.c:10:12: warning: passing argument 1 of ‘strcpy’ makes pointer from integer without a cast [-Wint-conversion]
     strcpy(**pinput1, string);
            ^
In file included from main.c:4:0:
/usr/include/string.h:38:8: note: expected ‘char * restrict’ but argument is of type ‘char’
 char  *strcpy (char *__restrict, const char *__restrict);
        ^~~~~~

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

void replacevalue(char **pinput1)
{
    char string[] = "here is the replacement string";
    strcpy(**pinput1, string);
}

void stringtest(char *pinput1)
{
    replacevalue(&pinput1);
}

int main()
{
    char string[] = "here is a string                          ";
    char *pinput1 = string;
    printf("%s \n", pinput1);
    stringtest(pinput1);
    printf("%s \n", pinput1);

    return 0;
}//end main

c programing holding window open

I am doing a team project with some people that prefer Linux and some people prefer Windows. We are also not allowed to share code for security reasons. One thing the Windows people love to whine about is a way to hold the window open. So the way they usually solve the problem is with:

#include <conio.h>
getch(); 

This creates a problem for the Linux users since we do not have that library. I have been looking for ways to solve this problem and I really like this idea.

https://www.dreamincode.net/forums/topic/30581-holding-the-execution-window-open/page__st__30__p__575874&#entry575874

#include <stdlib.h> //For system commands

//Detect and define which command to use
#ifndef WIN32
    #define COMMAND "clear" //Clears a linux console screen
#else
    #define COMMAND "cls" //Clears a windows console screen
#endif

#define wipe() system( COMMAND )
//To clear the console screen use wipe();

#define wait() {printf("Hit \"Enter\" to continue\n");fflush(stdin);getchar();fflush(stdin);}
//To pause the program or hold the console screen open use wait();

This seems to work when I use #defines but not when I just use this line:

printf("Hit \"Enter\" to continue\n");fflush(stdin);getchar();fflush(stdin);

Since I know most of the programmers pretty well I know they use scanf so I added this and it worked:

while ((getchar()) != '\n'); 

Why did the #defines work without the extra while loop, but I needed the extra while loop when not using the #defines? Do #defines behave a little different? I can not look at the others peoples code unfortunately. Is there a better way to solve the problem of holding the window open for Windows people but not screwing up the Linux people?