关于fscanf函数的使用

我用fscanf读取文件里的数,读不出来。
代码如下

 #include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *fp;
    char ch, filename[100], a;
    int l=3,z=5; 
    printf("输入文件名");
        scanf("%s",filename);
    getchar( );
    if (( fp= fopen(filename, "w+"))==NULL)
    {
        printf("错误\n");
        system("pause");
        exit(0);
    }
    printf("输入一个终止字符");
    scanf("%c",&a); getchar();
    printf("输入要存入的字符,以终止符结尾");
        ch=getchar();
        while (ch!=a)
    {
        fputc(ch, fp); 

        putchar(ch);
        ch = getchar();
    }
        fscanf(fp,"%d,%d",&l,&z);
        printf("\n%d,%d",l,z);
    fclose(fp);
    putchar(10);
    system("pause");

}

图片说明

图片说明

这是我的输入和文件结果。

问题1:我在文档里存了7,9 用fscanf怎么没有读出来,书上也没有例题,只有些文字说明,或许哪里操作不对, 还请各位大神指点下。

问题2:建立的test.txt里为什么7,9后面还有个问号。

第一个问题好像是因为输入到文件里的7,9还在缓冲区,需要关闭文件,才把7,9保存到文件里,再次打开文件,就可以读取了。
但是第二个问题还不明白