烦请前辈们帮助下,VS2015下的sscanf的应用。

我自己做了个小程序,想用vs弄个正文提取,但是遇到了一些问题。
就是我把文件托进去后,里面的东西并没有变,是我的sscanf用错了?,我想先试验一下sscanf到底可不可以进行正文提取。烦请各位前辈帮我看下。谢谢!!

 #include<stdio.h>
#include<malloc.h>
void encode_small_file(FILE *fp, int length) {
    char *pBuf = (char *)malloc(length);

    rewind(fp);//文件指针指向文件头

    int res = fread(pBuf, 1, length, fp);
    if (res != length)
    {
        printf("内容读取不完整!\n");
    }
    else
    {
        sscanf(pBuf,"%d",pBuf);
        //写文件
        rewind(fp);
        res = fwrite(pBuf, 1, length, fp); 
        if (res != length) {
            printf("文件写入不完整!\n");
        }
        else{
            printf("完成\n");
        }
    }
    free(pBuf);
}
main() {
    char sz_file[256] = "";
    FILE*fp = NULL;
    gets(sz_file);
    fp = fopen(sz_file, "rb+");
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
    }
    else
    {
        printf("文件打开成功!\n");
        fseek(fp, 0, SEEK_END);
        long length = ftell(fp);
        rewind(fp);
        encode_small_file(fp, length);

        fclose(fp);
    }
    getchar();

}

5个回答

sscanf是从字符串中格式化读取数据,格式化从文件中读取数据用fscanf

sscanf(pBuf,"%d",pBuf);这两个参数怎么是一样的?从一个字符串pBuf中读取一个整数到一个字符串pBuf,恐怕不对吧

呃。这个不行吗,但是我要fwrite-pBuf到fp,所以就pBuf到pBuf了,那要改的话怎么改

一个是文件型fp,一个是char 的pBuf,我有点想不到要怎么把这个按我的想法来写

可以试试sscanf_f,

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问