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
相关问答:
出现这个错误。不知道是我代码的问题还是服务器的问题。
javax.servlet.ServletException: unable to create new native thread
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageConte ......
现在的做法是,通过crontab每分钟执行一个php,这个php负责从数据库中取出邮件,然后发送
问题是,如果邮件很多,每分钟执行不完,那会造成很多php进程
能不能实现等这个php执行完了立即启动一个新的?不用cr ......
这里看不懂。。
有这个命令吗?
type d
试试看是不是别名或是函数名
这是在cygwin下运行的,还是看不明白。
输入了 type d 以后变成这样:
看不到图片
没有这个命令,是不是一个 ......
写了个简单的兩数比较的程序,可是gcc就是编译不过,提示a.c:13: 错误:
expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘main’的错误,看了又看觉得没有语法错误, ......