首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

问一个感觉和简单的有关问题

2012-08-13 
问一个感觉和简单的问题#includeapue.h#includefcntl.hint main(int argc,char *argv[]){int valif(a

问一个感觉和简单的问题
#include"apue.h"
#include<fcntl.h>
int main(int argc,char *argv[])
{
  int val;
  if(argc!=2)
  err_sys("Usage:./list3_4 filename");
  if((val=fcntl(atoi(argv[1]),F_GETFL,0))<0) //程序的开头 请问atoi(argv[1])怎么理解,可以用argv[1]作为参数?atoi函数能把文件名转换成文件描述符?
  err_sys("fcntl error");
先谢谢了!

[解决办法]
假如你在终端运行程序的时候用./a.out,那么这个./a.out 其实就是一个命令行参数,命令行的参数可以时个,这些命令行参数都被保存在*arv[]这个数组里面,argc则存的是命令行参数的个数,假如你执行./a.out 3 来运行程序的话,那么argc就是2, argv[0] 就是./a.out ,argv[1]就是3,以此类推
[解决办法]
argv[] 是程序运行时通过命令行传入的参数

想怎么处理,是需要代码来实现的
[解决办法]
楼上说的对。楼主自己调试跟踪一下,不就知道了。
[解决办法]
*argv[]
假设内容是{"www","2","xxx"}
那么argv[0]是字符串"www"的指针。
argv[1]就是字符串"2"的指针。
int atoi( const char *string );
这是atoi的函数原型。
int fcntl(int fd,int cmd,long arg);
估计这个是fcntl的函数原型。
这个从表面上看来没什么错误。
所以你不理解的东西应该要去看这个程序输入的参数到底是什么。

热点排行