由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个popen加gzip的问题
相关主题
问一个打开文件的问题请问以下代码有什么错误?
C 中的typedef 一问这段C++代码有啥问题
c++ string 一问fread/fwrite有big/small endian问题吗?
C++ Strategies and Tactics 书上一个问题求助[转载] Re: [转载] 这样读多个文件对吗?
a string define question (c++)问一个C++函数Parameter的问题
关于 exception 的一个问题xterm的title恢复问题 (转载)
C++一个string的小问题strlen怎么实现的
为啥gcc找不到类的构造函数?请教一个关于字符指针的简单问题
相关话题的讨论汇总
话题: gzip话题: file话题: popen话题: sda话题: abc
进入Programming版参与讨论
1 (共1页)
g*********s
发帖数: 1782
1
FILE *fp = popen(gzip_file(fileName), "w");
...
gzip_file是这样定义的:
const char* gzip_file(const char* file_name)
{
static sda::string cmd;
cmd = _gzip_path + sda::string(" > ") + sda::string(file_name);
return cmd.c_str();
}
现在传进的参数文件名比较怪异,带空格的,比如"abc def.gz"。这样gzip command变
成了:gzip >abc def.gz。然后gzip报错:gzip: def.gz: No such file or
directory。但是abc文件还是生成了,而且文件指针也返回了。问题在于abc这个文件
根本无法写入,所以后面又出现了fwrite error。
有什么办法第一时间抓住这个gzip错误呢?不许用parser提前分析文件名。
b******n
发帖数: 592
2
为什么不用zlib,很方便的阿..如果用popen, 要用 "gunzip -c xxxx | "吧。

【在 g*********s 的大作中提到】
: FILE *fp = popen(gzip_file(fileName), "w");
: ...
: gzip_file是这样定义的:
: const char* gzip_file(const char* file_name)
: {
: static sda::string cmd;
: cmd = _gzip_path + sda::string(" > ") + sda::string(file_name);
: return cmd.c_str();
: }
: 现在传进的参数文件名比较怪异,带空格的,比如"abc def.gz"。这样gzip command变

1 (共1页)
进入Programming版参与讨论
相关主题
请教一个关于字符指针的简单问题a string define question (c++)
Is it safe?关于 exception 的一个问题
Why does default exception use char *?C++一个string的小问题
问几个问题为啥gcc找不到类的构造函数?
问一个打开文件的问题请问以下代码有什么错误?
C 中的typedef 一问这段C++代码有啥问题
c++ string 一问fread/fwrite有big/small endian问题吗?
C++ Strategies and Tactics 书上一个问题求助[转载] Re: [转载] 这样读多个文件对吗?
相关话题的讨论汇总
话题: gzip话题: file话题: popen话题: sda话题: abc