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
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
安装Mandrake9.0后,在命令行,如何进入桌面版?
Mandrake9.0有没有桌面版?
如果用linux桌面版,用哪个版本比较好?跪求下载地址
用UBUNTU吧 这个比较简单
http://distrowatch.com/
......
现在的做法是,通过crontab每分钟执行一个php,这个php负责从数据库中取出邮件,然后发送
问题是,如果邮件很多,每分钟执行不完,那会造成很多php进程
能不能实现等这个php执行完了立即启动一个新的?不用cr ......
写出完成以下功能的Linux命令:
1) 在当前目录及其子目录所有的.cpp文件中查找字符串"example", 不区分大小写;
2) 使用sed命令, 将文件xyz中的单词AAA全部替换为BBB;
3) 用一条命令创建aa bb cc� ......