#include <stdio.h>
#include <stdlib.h>
//CALLBACKS
void infoCallback(){
system("cheese");
}
void wgetCallback(char *website){
if(website == NULL)
printf("\nSITIO WEB NO INGRESADO!\n");
else{
printf("%s \n", website);
system("echo making wget success");
}
}
int main(int argc, char *argv[]){
printf("\tAUTO-BASH\n");
printf("%s \n", argv[1]);
if(argv[1] == "-w"){
wgetCallback(argv[2]);
}
else if(argv[1] == "-i"){
infoCallback();
}
else{
printf("\nsos un noob\n");
}
}
它不會做我想要的....如果我寫-w,它去別的。 ... 我想打一個開關(任何類型){ 案「??」: 但我不知道爲什麼我不能這樣做。字符串比較與==
檢查的argv的值[1],也許你需要將它轉換爲字符串 – Nezir
'「-w」'是一個常數。 'argv [1]'是一個變量。指向變量的指針並不等於指向常量的指針,因爲它們不可能指向相同的東西,因爲某些變量既不能是變量也不能是常量。 –
@David Schwartz技術上不同意「不等於」。儘管不適用於'argv []',請考慮'char * s =「-w」;如果(s ==「-w」)...'。在這種情況下,比較可能是正確的,因爲代碼可能會將''-w''摺疊到相同的地址 - 否則它可能不會。 IAC,不是一個好的編程習慣。 – chux