2017-08-02 99 views
-7

我在我的C++代码中使用fopen打开文本文件。但是我发现,这只是与.txt文件扩展名的作品,例如不与.pcap:只打开.txt扩展名可能吗?

//this works 
snprintf(buf, sizeof(buf), "/sdcard/%s.txt", filename); 
FILE* f = fopen(buf, "w"); 

//this not 
snprintf(buf, sizeof(buf), "/sdcard/%s.pcap", filename); 
FILE* f = fopen(buf, "w"); 

与.pcap f将返回NULL

+7

“这只适用于.txt文件扩展名”那不,这是不正确的。 – DimChtz

+2

它适用于任何文件扩展名。 – user0042

+1

你可以请尝试创建一个[最小,完整和可验证的例子](http://stackoverflow.com/help/mcve)失败的程序,并告诉我们吗?另外,对于失败的程序什么是'filename'它的内容是什么? –

回答

1

是否只打开.txt扩展名可能?

不,没有这样的限制。无论文件名是什

与.pcap f正在返回NULL

它是fopen返回null。您可以使用errno查看原因。查看您的系统手册,了解错误代码的含义。

+0

Downvoting,因为这不提供在评论中没有提到的东西 – UKMonkey

+1

@UKMonkey从评论中复制信息有什么问题?评论不是答案,这不能回答这个问题吗? – Galik