Cómo poner dos barras invertidas en C ++

Necesito crear una función que acepte una ruta de directorio. Pero para que el compilador lea la barra invertida, necesito crear una función que convierta una barra invertida en una barra invertida 2 ... hasta ahora, estos son mis códigos:

string stripPath(string path)
{       
        char newpath[99999];
        //char *pathlong;
        char temp;
        strcpy_s(newpath, path.c_str());
        //pathlong = newpath;
        int arrlength = sizeof(newpath);

            for (int i = 0; i <= arrlength ;i++)
            {
                if(newpath[i] == '\\')
                {
                    newpath[i] +=  '\\';
                    i++;
                }
            }
            path = newpath;
        return path;
} 

este código recibe una entrada de un usuario que es una ruta de directorio con una barra diagonal inversa simple. el problema es que da una salida de texto sucio;

Respuestas a la pregunta(5)

Su respuesta a la pregunta