Ich kann keine Zeichenfolgen übergeben, die #
als Befehlszeilenargumente beginnen .
Hier ist ein einfacher Test:
#include <stdio.h>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++)
printf("%s ", argv[i]);
putchar('\n');
return 0;
}
Wenn ich die Argumente wie folgt eingebe:
2 4 # 5 6
Der Wert von argc
ist 3
und nicht 6
. Es liest #
und stoppt dort. Ich weiß nicht warum und kann die Antwort in meinen Kopien von The C Programming Language und C Primer Plus nicht finden .