-1
如何在使用C的字符串上實現getopt()相似的函數?字符串上的getopt()C
我目前應用此
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <strings.h>
#include <fcntl.h>
int main(int argc, char **argv){
int ch,fd;
char *ip;
char *port;
char *user;
char message[100];
message = "_connect -i 127.0.0.1 -p 1234 -u hello1";
while ((ch = getopt(argc, argv, "i:p:u:")) != -1) {
switch (ch) {
case 'i':
if ((fd = open(optarg, O_RDONLY, 0)) < 0) {
printf("my ip is: %s\n", optarg);
//ip = optarg;
}
break;
case 'p':
if ((fd = open(optarg, O_RDONLY, 0)) < 0) {
printf("my port number is: %s\n", optarg);
//port = optarg;
}
break;
case 'u':
if ((fd = open(optarg, O_RDONLY, 0)) < 0) {
printf("my name is: %s\n", optarg);
//user = optarg;
}
break;
default:break;
}
}
argc -= optind;
argv += optind;
return 0;
}
我需要的信息的行爲完全一樣的參數和getopt的功能,以接收分隔的數值請
如果不止一次調用getopt,請不要忘記重置optind。 – 2015-01-26 22:17:45