對不起,甚至不知道該怎麼稱呼這個,但是在這裏。這是鑄造?
假設我有:
char Fred[] = "1234 Evergreen Terrace";
char Pete[] = "4567 State Street";
char Mark[] = "123 North Street";
char Name[32];
gets(Name);
,而不是寫:
if(strcmp(name,"Fred")==0);
printf("You live at %s\n",Fred);
else if(strcmp(name,"Pete")==0);
printf("You live at %s\n",Pete);
else if(strcmp(name,"Mark")==0);
printf("You live at %s\n",Mark);
是不是有辦法通過書面跳過所有strcmps():
printf("You live at %s\n",<SOMETHING_HERE>Name)
我需求更復雜,但上面的簡單例子應該讓我去。自從我瞭解了它已有近15年了,但我無法回想起來。 在此先感謝! Dan
**從來沒有**使用「獲得」。由於它不允許你傳遞緩衝區的大小,所以「獲取」不可能以安全的方式實現。函數「gets」是一種可以讓您的應用程序出現緩衝區溢出漏洞的可靠方法,因此請保持清楚。 – 2009-11-04 15:37:46
您的代碼看起來像C,但標記爲C++。您是否在尋找C或C++解決方案? – jalf 2009-11-04 16:18:35