file access , argc, argv[ ]

_____main函数含有 两个参数 ,argc ,argv[]

这两个参数用以指示命令行输入的参数信息。

argc 的值是输入的参数的数量。argv是一个数组,每个数组元素指向一个string字符串类型的数据的地址,也就是存放每一个输入参数的地址。argv就是 char ** 类型。

void fileCopy(FILE *ifp,FILE *ofp)
{
    int c;
    while( (c = getc(ifp) ) != EOF)
    {
        putc(c,ofp);
    }

}
int main(int argc, char *argv[])
{

    //practice file access
        //practice argc, argv
    FILE *fp;
    if(argc == 1) //no args;copy standard input
    {
        fileCopy(stdin, stdout);
    }
    else
    {
        printf("%d\n",argc);
        while(--argc > 0)
        {
            int i;
            for(i = 0; i < argc; i++) //parameter is a string.
            {
                printf("%s%s",argv[i],(i < argc - 1) ? " " :"");

            }
            printf("\n");
/* when parameter is a file name.
            if( (fp = fopen(*++argv,"r")) == NULL)
            {
                printf("can‘t open %s\n", *argv);
                return 1;
            }
            else
            {
                fileCopy(fp,stdout);
                fclose(fp);
            }
*/
        }
    }
    return 0;
}

___file access

fprintf, fscanf 对应于标准输入输出的printf和scanf,参数多了最前面的一个FILE类型的参数。

FILE类型

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。