因此,假设我有一条如下所示的行:
"abcdefghi"
如果我想要“嗨”,并且后面没有任何内容,我该如何解析?
我试过strtok(str, "'\0'")
了,但我似乎无法让它发挥作用。
C 中有一个函数可以让我这样做吗?
首先,在程序早期的某个地方需要声明和定义:
#include <string.h>
…
char y[3]; // Define array to hold results.
x
然后可以复制的最后两个字符和终止空字符:
// Find length of string.
size_t length = strlen(x);
// Copy last two characters.
strcpy(y, x+length-2);
请注意,这要求x
至少包含两个字符。
或者,可以复制没有终止空字符的两个字符:
// Find length of string.
size_t length = strlen(x);
// Copy last two characters without the terminating null character.
strncpy(y, x+length-2, 2);
或者:
// Find length of string.
size_t length = strlen(x);
// Copy last two characters without the terminating null character.
y[0] = x[length-2];
y[1] = x[length-1];
您可以使用strstr在字符串中查找子字符串。
char * pointsToHi = strstr( string , "hi") ;