我将一个字符串作为参数传递给我的程序并在文本文件中提取它的位置。 我们可以只读取一个文本文件到C?如果是,那么请告诉我如何。
答案 0 :(得分:3)
只需使用fread(),直到达到文件中“position”位置的字节数。例如,如果您知道要读取1928字节的位置,只需用fread读取那么多字节。
答案 1 :(得分:1)
您需要的是为文件句柄编写的strstr函数。这是strstr的通用实现。你可以很容易地修改它以使用文件缓冲区而不是另一个字符串,所以我不会为你工作:P
char *
strstr(const char *haystack, const char *needle)
{
char c, sc;
size_t len;
if ((c = *needle++) != '\0') {
len = strlen(needle);
do {
do {
if ((sc = *haystack++) == '\0')
return (NULL);
} while (sc != c);
} while (strncmp(haystack, needle, len) != 0);
haystack--;
}
return ((char *)haystack);
}