请高手看看这段代码为什么打开文件失败!!!!!

zsl6658 2011-07-28 11:49:46
char buf[1024];
const char* pathname;
struct stat file_info;
//如果打开文件失败,则试着从当前目录打开
ev->file_fd = open( ev->request, O_RDONLY );
log->debug(log,__FILE__ ,__LINE__,__FUNCTION__,"try to open file:%s",ev->request);
if( ev->file_fd == ERROR ){
if(getcwd(buf, sizeof(buf)-1) == NULL)
{
perror("Fail to get current directory");
return ERROR;
}
strcat(buf,"/");
strcat(buf,ev->request);
log->debug(log,__FILE__ ,__LINE__,__FUNCTION__,"try to open file:%s",buf);
pathname = (char*) malloc(strlen(buf));
strncpy(pathname,buf,strlen(buf));
ev->file_fd = open(pathname,O_RDONLY);
if( ev->file_fd == ERROR ){
perror(buf);
log->debug(log,__FILE__ ,__LINE__,__FUNCTION__,"open file failed");
return ERROR;
}
}


标红的两处总是报:No such file or directory.
问题是我从打出的日志中取出问文件路径,比如:/root/1.txt,直接写在open函数中就ok.
但是我换成变量,就报错.通过后边的perror也可以看到文件路径是这确的呀.


请高手指点为什么会找不到文件呢??
...全文
95 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccnadogteam2 2011-07-29
  • 打赏
  • 举报
回复
学习。。。不知道,等答案

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧