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
相关问答:
目标:当网络中有数据到达或者超时,程序进入下一次循环。
问题:select()函数不起作用,程序不会在select的地方阻塞一秒,并且当网络上有数据的时候,select的返回值仍然小于0
#include <s ......
192.168.0.201是Linux
192.168.0.35是另外一台装有WEB的服务器,
我想访问192.168.0.201的时候
让他nat到192.168.0.35的80上。
以下是我设置的,但是不行。应该怎么设置呀?
root@ubuntu:/h ......
现在的做法是,通过crontab每分钟执行一个php,这个php负责从数据库中取出邮件,然后发送
问题是,如果邮件很多,每分钟执行不完,那会造成很多php进程
能不能实现等这个php执行完了立即启动一个新的?不用cr ......
我在安装redhat9的时候有些服务没选,比如samba,http,ntfs,telnet现在不想重装系统了,请问该怎么做?
我在添加/删除应用程序中装了samba,但是重启之后,在“系统设置-服务器设置”中怎么还没出现samba服务器 ......
写了个简单的兩数比较的程序,可是gcc就是编译不过,提示a.c:13: 错误:
expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘main’的错误,看了又看觉得没有语法错误, ......