我需要找出一个字符数组是否以“ADD”开头。我知道要使用strcmp()函数,但我不知道如何获取前三个字符。我真的很讨厌处理C字符串。我该如何像char buffer[1024]
一样截取一个字符数组?
使用 strncmp("ADD", buffer, 3)
。
我不确定您所说的“片段”是什么意思,但是buffer
内的任何指针都可以被视为一个片段。例如,如果buffer
是以"ADD"
开头的字符串,则char *slice = buffer + 3
是删除了"ADD"
后相同的字符串。注意,slice
是buffer
的一部分,修改slice
的内容将修改buffer
的内容。反之亦然。
如果您所说的“片段”是指独立副本,则必须分配一个新的内存块,并将有趣的部分从buffer
复制到您的内存中。库函数strdup
和strndup
非常方便。