文字列「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);