今天用XCODE ,用C语言编一个.c文件,但是用到打开文件fopen函数的时候老是返回EOF,是我打的文件路径
今天用XCODE,用C语言编一个.c文件,但是用到打开文件fopen函数的时候老是返回EOF,是我打的文件路径不对还是编程不对?源程序是这样的:#include<stdi...
今天用XCODE ,用C语言编一个.c文件,但是用到打开文件fopen函数的时候老是返回EOF,是我打的文件路径不对还是编程不对?
源程序是这样的:
#include<stdio.h>
void copyFile(char * sourceFileName,char * destFileName);
int main()
{
copyFile("1.txt", "2.txt");
return 0;
}
void copyFile(char * sourceFileName,char * destFileName)
{
char ch;
FILE * sourcefPtr,*destfPtr;
if( (sourcefPtr=fopen(sourceFileName,"r"))==NULL)
printf("can't open the source file\n");
else if( (destfPtr=fopen(destFileName,"w"))==NULL)
printf("can't open the dest file\n");
else{
ch=fgetc(sourcefPtr);//从源文件读取一个字符
while(!feof(sourcefPtr)){//逐字符复制
fputc(ch,destfPtr); //将字符写入目标文件
ch=fgetc(sourcefPtr);
}
fclose(sourcefPtr);
fclose(destfPtr);
}
}
1.txt和2.txt是和c文件在同一个目录下的两个txt文件 展开
源程序是这样的:
#include<stdio.h>
void copyFile(char * sourceFileName,char * destFileName);
int main()
{
copyFile("1.txt", "2.txt");
return 0;
}
void copyFile(char * sourceFileName,char * destFileName)
{
char ch;
FILE * sourcefPtr,*destfPtr;
if( (sourcefPtr=fopen(sourceFileName,"r"))==NULL)
printf("can't open the source file\n");
else if( (destfPtr=fopen(destFileName,"w"))==NULL)
printf("can't open the dest file\n");
else{
ch=fgetc(sourcefPtr);//从源文件读取一个字符
while(!feof(sourcefPtr)){//逐字符复制
fputc(ch,destfPtr); //将字符写入目标文件
ch=fgetc(sourcefPtr);
}
fclose(sourcefPtr);
fclose(destfPtr);
}
}
1.txt和2.txt是和c文件在同一个目录下的两个txt文件 展开
3个回答
展开全部
路径的问题~
你路径就是1.text 和2.text 你觉得 这就是完整的路径?
如果你是开发MAC 或者IOS 的软件推荐你使用混编 该成.MM就行了
然后用O-C的函数获取 项目根目录路径 (如果你不想混编可以自己写下路径 )
还有一个比较严重的错误就是
项目里的文件都是不能写入的只能读
你要写的话 如果是IOS 要写在沙盒里 沙盒在这个软件创建的时候动态生成如果你想捕获最好先自己试下
// 获取程序Documents目录路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// 获取程序app文件所在目录路径NSHomeDirectory();
// 获取程序tmp目录路径NSTemporaryDirectory();
// 获取程序应用包路径[[NSBundle mainBundle] resourcePath];(就是你说的同一目录)
或[[NSBundle mainBundle] pathForResource: @"1" ofType: @"txt"];
希望对你有帮助 嘿嘿
你路径就是1.text 和2.text 你觉得 这就是完整的路径?
如果你是开发MAC 或者IOS 的软件推荐你使用混编 该成.MM就行了
然后用O-C的函数获取 项目根目录路径 (如果你不想混编可以自己写下路径 )
还有一个比较严重的错误就是
项目里的文件都是不能写入的只能读
你要写的话 如果是IOS 要写在沙盒里 沙盒在这个软件创建的时候动态生成如果你想捕获最好先自己试下
// 获取程序Documents目录路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// 获取程序app文件所在目录路径NSHomeDirectory();
// 获取程序tmp目录路径NSTemporaryDirectory();
// 获取程序应用包路径[[NSBundle mainBundle] resourcePath];(就是你说的同一目录)
或[[NSBundle mainBundle] pathForResource: @"1" ofType: @"txt"];
希望对你有帮助 嘿嘿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将1.txt改为1.dat.txt,2.txt改为2.dat.txt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询