我使用了 string.h 库中的 strlen() 函数,但不包括我想从最初实现的头文件中包含的头文件,因为我正在编写自己的 strcpy() 实现,如果我包含它说的头文件它是 strcpy() 的多个定义。那么如何仅包含头文件中的特定定义。我需要使用 extern 关键字吗?
#include <stdio.h>
#include <stdlib.h>
#include "exercise 5.5.h"
int main() {
char *s = "hello";
char *t = "helli";
int n = 3;
if (n > strlen(t))
printf("\nsorry the value of n is greater than the size of t");
else {
S = strncpy(s, t, n);
printf("\nther is %d", x);
}
}
标头有 strncpy 的定义
终端跟踪
exercise. 5.5_main.c:10:7: incompatible implicit declaration of built-in function "strien
exercise 5.5 main.c:10:7: note: include <string.h> or provide a declaration of 'strlen
我不想包含 string.h 但如何明确提供 strlen 的定义
标题
char* strncat(char *s, char *t, int n);
char* strncpy(char *s, char *t, int n);
int strncmp(char *s,char *t, int n);