菜鸟c语言学习者,fopen()的问题。
FILE*fp;charfilename[100];scanf("%s",filename);fp=fopen(filename,"wt+");如果,我输入的是vsmh....
FILE *fp;
char filename[100];
scanf("%s",filename);
fp=fopen(filename,"wt+");
如果,我输入的是vsmh.txt,保存路径是当前路径下,文件名是vsmh.txt,。。。如果我要使路径为e:\zas\下。。。fopen()括号里面的内容该怎么写?? 展开
char filename[100];
scanf("%s",filename);
fp=fopen(filename,"wt+");
如果,我输入的是vsmh.txt,保存路径是当前路径下,文件名是vsmh.txt,。。。如果我要使路径为e:\zas\下。。。fopen()括号里面的内容该怎么写?? 展开
6个回答
2011-07-05
展开全部
其实你写的程序用void和int都是一样的,如果什么都不写的话,默认为int。
也就是说main函数也有返回值,返回给系统一些程序执行的信息。
比如
#include "stdio.h"
int main()
{
FILE* p;
p = fopen( "f://a.txt" , "w+" );
if( p == NULL ) // 文件打开失败;
return -1;
/*
...程序
*/
return 0;
}
这样系统就可以根据程序返回的值来判断其运行情况了。
在Linux下,命令echo $?可以看到这个返回值。win下我就不知道了。
平时你什么都不加的写程序,如果最后没有return 0;的话,往往会有一个waring,原因就是默认main函数返回int值但程序里没有。
你平时写一些练习性质的小程序,用void都不会有问题的。还有,这些问题不值50的,你0分我也给你回答。
另外,团IDC网上有许多产品团购,便宜有口碑
也就是说main函数也有返回值,返回给系统一些程序执行的信息。
比如
#include "stdio.h"
int main()
{
FILE* p;
p = fopen( "f://a.txt" , "w+" );
if( p == NULL ) // 文件打开失败;
return -1;
/*
...程序
*/
return 0;
}
这样系统就可以根据程序返回的值来判断其运行情况了。
在Linux下,命令echo $?可以看到这个返回值。win下我就不知道了。
平时你什么都不加的写程序,如果最后没有return 0;的话,往往会有一个waring,原因就是默认main函数返回int值但程序里没有。
你平时写一些练习性质的小程序,用void都不会有问题的。还有,这些问题不值50的,你0分我也给你回答。
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、输入路径是直接输入绝对路径:e:\zas\vsmh.txt
2、在程序中使用strcpy、strcat将路径和文件名结合到一起,然后传给fopen
2、在程序中使用strcpy、strcat将路径和文件名结合到一起,然后传给fopen
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用strcat连接字符串把"e:\\zas\\"和filename连起来,strcat用法查手册
追问
你好!~~只用 fopen()函数,不能完成想要的操作吗?
追答
当然是只用fopen…………………………strcat是连接字符串用的……………………
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fp=fopen(“e:\\zas\\vsmh.txt”,"wt+");
追问
你好。。
fp=fopen("e:\\zas\\vsmh.txt"."wt+");//这样不好,文件名限定了是vsmh.txt
fp=fopen(filename,"wt+");//filename输入的就是文件名。我还是想这样,可以动态输入文件名,只是想修改保存路径。怎么办呀。。
求指导。
追答
包含头文件,string.h
char filename[50];
char path[100] = “e:\\zas\\”;
scanf("%s",filename);
strcat(path, filename)
fp=fopen(path,"wt+");
不用strcat也行:
定义宏:#define PATH "e:\\zas\\"
FILE *fp;
char filename[100] = PATH;
scanf("%s",filename + sizeof(PATH) - 1);
fp=fopen(filename,"wt+");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将完整路径写进去就可以了啊
更多追问追答
追问
你好。。
fp=fopen("e:\\zas\\vsmh.txt"."wt+");//这样不好,文件名限定了是vsmh.txt
fp=fopen(filename,"wt+");//filename输入的就是文件名。我还是想这样,可以动态输入文件名,只是想修改保存路径。怎么办呀。。
求指导
追答
那你设置一个变量,比如filename,然后给filename赋值,赋文件路径+文件名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询