所以,
我有一个char**;它本质上是一个句子,其中的每个单词都有一个指针;
'h''i''\0''w''o''r''l''d''\0''y''a''y''!''\0'我正在寻找提取最后一个字符*(耶!)在这种情况下,具有可以接受不同字数和字母计数的句子的函数。有什么想法吗?到目前为止,我已经找到了一些库函数,它们可以做类似的事情,但没有一个可以完全做到这一点。
发布于 2013-02-19 09:56:32
当您为char **赋值时,如何跟踪最后一个单词?您的问题的答案依赖于此。你可以使用终结值,例如。最后一个单词后面的NULL值,然后像strlen一样搜索终结值,或者将长度存储在size_t变量或具有灵活数组成员的struct中(即struct fubar { size_t size; char *word[]; },具有一些push_back函数,以便随着数组的增长重新分配整个对象,并递增size)。如果没有关于您到目前为止编写的代码的进一步信息,我不能确定这些代码中的哪一个适用于您。
发布于 2013-02-19 10:02:14
为此,请使用适当的数据结构。例如:
struct sentence {
size_t word_count;
char** words;
};那么你总是能够在O(1)时间内到达最后一个单词:
struct sentence blah;
// ...
char* last_word = blah.words[blah.word_count - 1];https://stackoverflow.com/questions/14948519
复制相似问题