标题:文件输入输出问题
只看楼主
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
argc是获取操作系统向程序传入的命令行参数个数的,比如你用命令行键入notepad test.txt这条指令,程序notepad.exe就会有argc=2的值,表示有两个参数,第一个参数是argv[0]="notepad.exe",第二个是argv[1]="test.txt",2个字符串,假如还有更多的参数,依次类推字符串数组,argc就是数组的元素数目。

[ 本帖最后由 TonyDeng 于 2013-7-23 12:29 编辑 ]

授人以渔,不授人以鱼。
2013-07-23 11:26
qjw2719
Rank: 2
等 级:论坛游民
帖 子:21
专家分:33
注 册:2012-3-15
得分:0 
#include<stdio.h>
#include<stdlib.h>//这里第二个参数是文件路径
int main(int argc,char*argv[])  //arge 为传入参数个数 argv[0]第一个参数, argv[1]第二个, argv[2] argv[3].....
{
    int ch;
    FILE *fp;
    long count=0;
    if(argc!=3)//如果传入参数个数不为3个,退出
    {
        printf("usage:%sfilename\n",argv[0]);
        exit(1);
    }
    if((fp=fopen(argv[1],"r"))==NULL)//如果文件为空,或没有此文件,退出。
    {
        printf("can't open %s\n",argv[1]);
        exit(1);
    }
    while((ch=getc(fp))==EOF)//EOF是文件结尾符,这里应该是  != EOF吧
    {
        putc(ch,stdout);//相当于putchar(ch),stdout为标准输出;
            count++;
    }
    fclose(fp);
    printf("file %s has %ld characters\n",argv[1],count);
    return 0;
}
2013-07-23 11:30
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
得分:0 
天天涨姿势啊

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-07-23 12:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:20 
其实不用main()的参数也能取得命令行参数,而且能夠获得更多环境的信息。

授人以渔,不授人以鱼。
2013-07-23 12:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-417789-1-1.html




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

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