2012-08-17 317 views

回答

9

不管是不是在Linux内核中实现我能做strcpy,你必须自己实现或从其他开源内核模块借款。但是,您会发现在内核中实现了strcat

查看kernel API文档。特别是Basic C Library Functions部分为您的一般问题,和String Manipulation部分为您的具体问题strcat

你会想要包括linux/string.h

我不知道为什么内核API文档没有实际显示必须包含的头文件才能获得该函数。但是,如果你正在寻找一些东西,你可以限制你的搜索到/include/linux,因为如果头文件具有在内核的不同部分之间共享的函数,头文件就是这样。

/include/linux以外的头文件仅包含与头文件位于同一目录中的源文件的定义。 /arch/.../include是个例外,它将包含体系结构特定的头文件而不是独立于平台的头文件。

+0

是否有这些类型的功能保存在头文件的列表? (就像你提到的'linux \ string.h') – Fairview 2012-08-17 19:09:13

+0

@Fairview:不是我能找到的,这很奇怪。我想你必须在内核API中找到你想要的函数,然后在'/ include/linux'中搜索它。我在关于内核头文件的回答中添加了更多细节,并且为什么你可以限制你的搜索到'/ include/linux'及其子目录。 – indiv 2012-08-17 20:30:50

-1

对不起@eq - 思考另一个功能。

为什么不

void (char *d, const char *s); 
{ 
    if (*d) 
    { 
     for (; *d; ++d) {} ; 
     --d; 
    } 
    strcpy(d, s); 
} 

,如果你想

+0

@indiv - 糟糕的是思想是对的。这些功能可以轻松实现。 – 2012-08-17 19:07:19

+0

我们都很开心 - 尽管一个字符串函数需要一个库?! – 2012-08-17 19:11:44

+0

...是用C编写的Linux内核吗? – 2012-08-17 19:15:08