1099062139 发表于 2015-1-27 22:47:14

C中文件操作方面的问题

          就是教学视频中的将RAR捆绑在jpg中   感觉就是细节问题一直找不到




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

void main()
{
      FILE *f_pic,*f_file,*f_finish;
      char ch,pic_name,file_name,finish_name;
      printf("请输入合成的图片路径和文件路径:\n");
      printf("图片:");
      scanf("%s", pic_name);
      printf("文件:");
      scanf("%s",file_name);
      printf("生成的文件名:");
      scanf("%s",finish_name);


      if(!(f_pic=fopen(pic_name,"rb")));
      {
                printf("cannota");                                    每次都说无法打开这个   就是 cannot a然后没执行成功
                return;

      }
      if(!(f_file=fopen(file_name,"rb")));
      {
                printf("cannot   b");
                return;

      }
      if(!(f_finish=fopen(finish_name,"wb")));
      {
                printf("cannotc");
                return;

      }


      while(!(feof(f_pic)))
      {
                ch=fgetc(f_file);
                fputc(ch,f_finish);
      }
      fclose(f_pic);

      while(!(feof(f_file)))
      {
                ch=fgetc(f_file);
                fputc(ch,f_finish);
      }
      fclose(f_file);

      fclose(f_finish);



      system("pause");

}

Mr.屎壳螂 发表于 2015-1-28 01:03:43

你看下是不是因为fopen(pic_name,"rb")运行时 pic_name这个文件必须存在

1099062139 发表于 2015-1-28 09:51:18

Mr.屎壳螂 发表于 2015-1-28 01:03
你看下是不是因为fopen(pic_name,"rb")运行时 pic_name这个文件必须存在

图片的文件和RAR文件我已经准备好了    :cry

百日维新 发表于 2015-1-28 18:19:39

本帖最后由 百日维新 于 2015-1-28 18:25 编辑

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

void main()
{
    FILE *f,*p,*pp;
    char picname,filename,finish;
    char ch;
   
    gets(picname);

    gets(filename);

    gets(finish);
    if (!(f=fopen(picname,"rb")))
    {
      printf("cant");
      return;
    }
    if (!(p=fopen(filename,"rb")))
    {                        
      printf("cant");
      return;
    }
    if (!(pp=fopen(finish,"wb")))
    {                        
      printf("cant");
      return;
    }
    while (!(feof(f)))
    {
      ch=fgetc(f);
      fputc(ch,pp);
    }
    fclose(f);
    while (!(feof(p)))
    {
      ch=fgetc(p);
      fputc(ch,pp);
    }
    fclose(p);
    system("pause");
}

百日维新 发表于 2015-1-28 18:30:19

本帖最后由 百日维新 于 2015-1-28 18:32 编辑

输入格式





1099062139 发表于 2015-1-28 22:38:55

百日维新 发表于 2015-1-28 18:30
输入格式

我找到原因了你用的什么软件编程,我把f=fopen(picname,"rb")   中的 fopen(picname,""rb) 这个又加了个括号就可以执行了,结果也是正确的

1099062139 发表于 2015-1-28 22:39:32

难道是结合性的问题?

百日维新 发表于 2015-1-28 23:19:04

1099062139 发表于 半小时前static/image/common/back.gif
引用:   百日维新 发表于 2015-1-28 18:30   
输入格式
我找到原因了你用的什么软件编程,我把f=fopen(picname, rb )   中的 fopen...

rb不是在引号里面?

百日维新 发表于 2015-1-28 23:20:43

1099062139 发表于 半小时前static/image/common/back.gif
引用:   百日维新 发表于 2015-1-28 18:30   
输入格式
我找到原因了你用的什么软件编程,我把f=fopen(picname, rb )   中的 fopen...

用的是vc++6.0装了一个编程的助手插件,不喜欢用大软件慢的很
页: [1]
查看完整版本: C中文件操作方面的问题