C 如何在不使用<;的情况下实现功能;string.h>;?

C 如何在不使用<;的情况下实现功能;string.h>;?,c,C,我有一段代码正在文件模式中搜索,然后写这行代码。如果不使用库#include,如何重写此代码?谢谢你的评论 #include <stdio.h> #include <string.h> int get_line(char *line, int max); int main(int argc, char *argv[]) { char line[10000]; int found = 0; while (get_line(line,

我有一段代码正在文件模式中搜索,然后写这行代码。如果不使用库#include,如何重写此代码?谢谢你的评论

#include <stdio.h>
#include <string.h>

int get_line(char *line, int max);

int main(int argc, char *argv[])
{
    char line[10000];
    int found = 0;       
    while (get_line(line, 10000) > 0)
    if (strstr(line, argv[1]) != NULL)
    {
        printf("%s", line); 
        found++;
    }
    else
    {
        return 1;
    }
    return found;
}

int get_line(char s[], int lim)
{
    int i;
    int c;
    for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
    {
        s[i] = c;
    }

    if (c == '\n')
    {
        s[i] = c;
        ++i;
    }
    s[i] = '\0';
    return i;
}
#包括
#包括
int get_行(字符*行,int max);
int main(int argc,char*argv[])
{
字符行[10000];
int=0;
while(get_line(line,10000)>0)
if(strstr(行,argv[1])!=NULL)
{
printf(“%s”,第行);
发现++;
}
其他的
{
返回1;
}
发现退货;
}
int get_行(字符s[],int lim)
{
int i;
INTC;
对于(i=0;i
那么你是在问如何编写自己版本的?如果你不想使用#include's,还必须编写自己的
getchar()
printf()
。与编写任何其他代码一样。首先计算出算法,然后将其转化为代码。那么,你到底被卡在了哪一部分?你算出算法了吗?如果你对自己不了解的内容更加具体,你会得到更好的帮助。请注意边缘情况——当你在第一个getchar上得到EOF时,“c”会发生什么?(它将保持未初始化状态)。