假设我有一个字符串“text”,一个插入符号位置“caret”,然后想要找到当前单词(以空格分隔)。
我目前这样做的方式似乎效率低下,我想知道是否有人有一种有效的方式来做到这一点?
const char* text;
int caret;
int initpos;
int start;
int count = 0;
char word[256];
// text and caret values assigned here.
initpos = caret;
while(caret > 0 && text[caret] != ' ') // get start
{
caret--;
count++;
}
start = caret;
caret = initpos;
while(text[caret] && text[caret] != ' ') // get end
{
caret++;
count++;
}
word = strsub(text, start, count);