我用C语言进行文件操作,无法创建txt文件

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

int main()
{
    char ch[] = "Hello World";
    FILE* p = ("G:\solve problem\a.txt", "w");
    if (!p)
    {
        printf("程序运行错误");
        return - 1;
    }
    fwrite(ch, 1, 12, p);
    fclose(p);
    return 0;
}

上边是我的代码,VS能够成功编译,也能正常运行,不会出现“程序运行错误”这句话,但是我在我的目标目录下边没有看到对应的文件生成,更别提打印出我想要的话了。
类似功能的语句我也在DEV C++上边编译过,也能成功,用DEV C++的时候能够创建相应的txt文件,而且文件对应的修改时间也跟我程序运行的时间完全吻合,但是打开txt文件还是没有内容。
想问问这是电脑的问题还是编译器的问题,有谁能够帮帮忙么?

FILE* p =fopen ("G:\\solve problem\\a.txt", "w");