我正在阅读Stephan Prata第14章C Primer Plus第6版中的字符串函数。它说
一些预ANSI系统使用strings.h而其他系统可能缺少a 字符串头文件完全。
所以,我认为如果我在任何现代C编译器上编译以下程序,它应该不起作用。
#include <stdio.h>
#include <strings.h> // note here strings.h not string.h
void fit(char *c,unsigned u);
int main(void)
{
char msg[]="Things should be as simple as possible," " but not simpler.";
puts(msg);
fit(msg,38);
puts(msg);
puts("Let's look at some more of the string.");
puts(msg + 39);
return 0;
}
void fit(char *c,unsigned u)
{
if(strlen(c)>u)
c[u]='\0';
}
我在orwell Dev C ++ IDE&amp; amp;代码块13.12&amp;它编译并运行良好。为什么我没有收到错误?
string.h和strings.h有什么区别?