Linux编程--fopen函数的用法?
请问各位高手:C编程中的fopen函数,原型是 fopen(const char *filename,const char mode),请问在使用这个函数时,要想从Linux终端输入文件名和mode,该如何处理?谢谢!!
书上解释filename时说,filename可以所文件名,也可以是包括文件路径的文件名,终端输入我用了gets函数,但是在执行到fopen函数时,出现段错误,我想实现的是,从终端输入文件名存储在str中,然后fopen(str,mode),请问我该如何操作呢?
mode其实是一个const char,所以需要一个char*来保存,filename也一样啊。
不过需要检查这两个输入string的合法性,不然会出错。
供参考:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char filename[20],mode[5];
FILE * fHandle = NULL;
memset(filename,'\0',20);
printf("input filename:");
scanf("%s",filename);
printf("\ninput mode string:");
while(1)
{
memset(mode,'\0',5);
scanf("%s",mode);
/*For example:only need "w" mode for fopen */
if(strcmp(mode,"w"))
{
printf("invalid mode,please input again:\n");
&nb
相关问答:
C/C++ code:
char Time="2009-9-23";
FILE *fpOut=fopen("1.txt","w+");
if(fpOut==NULL)
return ;
fwr ......
这里看不懂。。
有这个命令吗?
type d
试试看是不是别名或是函数名
这是在cygwin下运行的,还是看不明白。
输入了 type d 以后变成这样:
看不到图片
没有这个命令,是不是一个 ......
Linux和UNIX的区别和联系
Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主 ......
写了个简单的兩数比较的程序,可是gcc就是编译不过,提示a.c:13: 错误:
expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘main’的错误,看了又看觉得没有语法错误, ......
#include <fcnt1.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
int fd_open,fd_open_create,fd_create;
if((fd_open=o ......