| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:求助,一个C程序,可以搜索本地文本文件,如果文件存在则编辑文件,如果不存 ...
只看楼主 加入收藏
hytiantang
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2011-4-23
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:2 
求助,一个C程序,可以搜索本地文本文件,如果文件存在则编辑文件,如果不存在,则提示error!文件不存在。
本人新手,有点注解更好,不胜感激!!!
搜索更多相关主题的帖子: 文本文件 不胜感激 
2011-04-23 11:50
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:4 
哪个操作系统下的?如果是linux和unix可以这样:
程序代码:
#include<stdio.h>
int main(int argc,char *argv[]){
        if(argc!=2){
        fprintf(stderr,"usage:%s filename\n",argv[0]); //提示命令行后要加文件名
        exit(1);
        }else{

        FILE *fp;
        char str[50];
        fp=fopen(argv[1],"r");
        if (fp == NULL ){
        fprintf(stderr,"error!文件不存在\n");
        exit(1);
        }
        else{
        sprintf(str,"vi %s",argv[1]);
        system(str);  //调用操作系统命令编辑文件,命令内容在str里
        }
        fclose(fp);
        exit(0);
        }

}

如果是windows,我这里是用命令行的,
运行时输入:
编译后的程序+空格+要打开的文件名
可以这样:
程序代码:
#include<stdio.h>
int main(int argc,char *argv[]){
        if(argc!=2){
        fprintf(stderr,"usage:%s filename\n",argv[0]);
        exit(1);
        }else{

        FILE *fp;
        char str[50];
        fp=fopen(argv[1],"r");
        if (fp == NULL ){
        fprintf(stderr,"error!文件不存在\n");
        exit(1);
        }
        else{
        sprintf(str,"notepad %s",argv[1]);
        system(str); //调用操作系统命令编辑文件,命令内容在str里

        }
        fclose(fp);
        exit(0);
        }

}



[ 本帖最后由 khaz 于 2011-4-23 12:49 编辑 ]
2011-04-23 12:28
hytiantang
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2011-4-23
收藏
得分:0 
你好,程序能通过编译,但是没有要输入的文件名的窗口,运行时直接退出,加上system("pause");也不行,我是windows系统。
2011-04-24 18:59
快速回复:求助,一个C程序,可以搜索本地文本文件,如果文件存在则编辑文件,如 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031878 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved