int argc ,char **argv
2014-09-03 23:00
435 查看
int main(int argc , char **argv)
argc至少等于1,当没有参数传入的时候,argc=1
argv[0] 命令
argv[1] 第一个参数
argv[2] 第二个参数
.......
如下程序,操作当前目录下test.c文件,
(1)打印argc
(2)打印argv[0]
(3)打印test.c原本内容
(4)打印修改后的内容
test.c
test-mmap.c
运行命令 ./a.out test.c
运行结果:
argc=3
argv[0]=./a.out
123456
oh my god
argc至少等于1,当没有参数传入的时候,argc=1
argv[0] 命令
argv[1] 第一个参数
argv[2] 第二个参数
.......
如下程序,操作当前目录下test.c文件,
(1)打印argc
(2)打印argv[0]
(3)打印test.c原本内容
(4)打印修改后的内容
test.c
<span style="font-size:18px;">123456</span>
test-mmap.c
<span style="font-size:18px;">#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> #include <string.h> int main(int argc,char **argv) { if(argc<2) { puts("no file to open"); return 0; } int fd=open(argv[1],O_RDWR); char *start=mmap(NULL,100,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0); printf("argc=%d\n",argc); printf("argv[0]=%s\n",argv[0]); puts(start); if(argc<3) puts("no data to be written"); else strcpy(start,argv[2]); puts(start); munmap(start,100); close(fd); return 0; } </span>
运行命令 ./a.out test.c
运行结果:
argc=3
argv[0]=./a.out
123456
oh my god
相关文章推荐
- VS+OpenCV使用自带samples代码时,main函数参数为int argc,char*argv的问题
- main(int argc,char *argv[] )参数输入
- 命令行执行程序时int argc,char *argv[ ]的意义
- GDB 调试带参数程序的方法int main(int argc,char *argv[])
- int main(int argc,char* argv[])详解
- int main(int argc,char* argv[])详解
- 关于main(int argc,char *argv[])里面参数的说明
- TAppEncCfg::parseCfg( Int argc, Char* argv[] )
- int main(int argc,char* argv[])详解
- int main(int argc,char* argv[])中argv[]的内存分配问题
- 关于main(int argc, char* argv[])的理解
- main( int argc, char *argv[]) 理解main函数参数含义
- int main(int argc,char* argv[])详解
- int main(int argc,char *argv[])
- main(int argc,char **argv)
- int main(int argc, char*argv[])是什么意思?什么时候用?
- int main(int argc,char* argv[])详解
- int main(int argc, char *argv[])
- int main(int argc,char* argv[])详解
- 关于main() /int main() /int main(void) /void main() /int main(int argc, char*argv[])