请教各位高手:
我有一个关于Turbo C的小程序,现在想在VC中运行,我直接拷贝过来但不能运行。总是让我给出open.c的路径。请问我应如何解决。代码如下:#include "stdio.h"
void main()
{
int c;
FILE *fpr,*fpw;
fpr=fopen("d:\1.txt","rb");
fpw=fopen("d:\2.txt","wb");c = getc(fpr);
while(feof(fpr)==0)
{
putc(c,fpw);
c=getc(fpr);
}
fclose(fpr);
fclose(fpw);
}
我有一个关于Turbo C的小程序,现在想在VC中运行,我直接拷贝过来但不能运行。总是让我给出open.c的路径。请问我应如何解决。代码如下:#include "stdio.h"
void main()
{
int c;
FILE *fpr,*fpw;
fpr=fopen("d:\1.txt","rb");
fpw=fopen("d:\2.txt","wb");c = getc(fpr);
while(feof(fpr)==0)
{
putc(c,fpw);
c=getc(fpr);
}
fclose(fpr);
fclose(fpw);
}
我的过程是:
建立有一个win32 console程序,选择建立一个空的工程。在新建的工程中新建一个文件,为c/c++ source file ,名字为open.c然后将那段程序拷贝到空的文件中,编译,没有问题。执行有问题,是因为我的d:\1.txt是不存在的,所以getc(fpr)出错。指出你程序中的两个毛病,
fpr = fopen("d:\1.txt","rb");
这句话中,字符\在c\c++中应该用转意符,也就是应该是"d:\\1.txt".
另外执行完之后要判断fpr是否为null,因为fopen执行可能不对,就好像我的d:\1.txt不存在一样。
while(feof(fpr)==0)这句是不是改成while(feof(fpr)!=0)
其中"d:\1.txt"应为"d:\\1.txt"
fpw=fopen("d:\2.txt","wb");
改为
fpr=fopen("d:\\1.txt","rb");
fpw=fopen("d:\\2.txt","wb");
\ 改为 \\
谢谢各位的回复。尤对findcaiyzh(秋心)非常感谢,按照您的指教,我的问题解决了。