对不起,甚至不知道该怎么称呼这个,但是在这里。这是铸造?
假设我有:
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