首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

急切

2013-01-01 
急切求助我写了一个操纵文件的c,将一个文件中内容复制到另一个中,但是为什么我的不成功,同学的电脑却可以

急切求助
我写了一个操纵文件的c,将一个文件中内容复制到另一个中,但是为什么我的不成功,同学的电脑却可以做到,我的总是找不到文件,急求解
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf("Enter the infile name:\n");
scanf("%s",infile);
printf("Enter the outfile name:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("Can't open infile!\n");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("Can't open outfile!\n");
exit(0);
}
while(!feof(in)) fputc(fgetc(in),out);
fclose(in);
fclose(out);
system("pause");
}


求解急切
[解决办法]
first, try to input the whole file path.
second, you need to confirm the file exist in your input folder
[解决办法]
贴段文件复制的代码:
供参考


[解决办法]
文件一定要存在在找的到的目錄裏。

char ch,infile[10],outfile[10];
輸入的文件名不要太長了,小於9個字符。

为什么我的不成功?
有沒有下面的輸出信息。
printf("Can't open infile!\n");
printf("Can't open outfile!\n");


[解决办法]
是不是你的文件名大于9个字符了?

引用:
引用:需要这样改,否则会多出字符的:
C/C++ code?12345678910111213141516171819202122232425#include<stdio.h>#include<stdlib.h>void main(){FILE *in,*out;char ch,infile[10],outfile[10];printf(……

[解决办法]
推荐使用WinHex软件查看文件或内存中的原始字节内容。

不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose  //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

[解决办法]

//把空间放大一点,初始化下空间。
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *in,*out;
char ch;
char infile[40]={0};//为什么不初始化,
//不初始化你怎么知道输入的文件名已经结束了(也就是在后面加个‘/0’)?
char outfile[40]={0};
printf("Enter the infile name:\n");
scanf("%s",infile);
printf("Enter the outfile name:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("Can't open infile!\n");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("Can't open outfile!\n");
exit(0);
}
while(!feof(in)) fputc(fgetc(in),out);
fclose(in);
fclose(out);
system("pause");
}


热点排行