Zuweisen von optarg zu einem int in C
Ich versuche, einem int einen optarg-Wert zuzuweisen, aber der Compiler gibt folgende Warnung aus:
warning: assignment makes integer from pointer without a cast [enabled by default]
Ich habe versucht, optarg als int vor dem Auftrag zu gießen
n = (int) optarg;
aber immer noch eine Warnung bekommen:
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
Ich bin mir nicht sicher, was zu tun ist, bevor ich den optarg einfach einer ganzen Zahl zuweisen und dann ausdrucken kann (vorerst).
int main (int argc, char *argv[])
{
char c;
int n;
while ((c = getopt(argc, argv, "m:")) != -1) {
switch (c) {
case 'm':
n = optarg;
break;
}
}
printf("%d\n", n);
return 0;
}