c语言 如何在文件中换行检测字串符
c语言如何在文件中换行检测字串符比如一个文件有好几行,代码检测文件中的字串符在第二行或者第三行,如何跳行检测?..或者说如何直接跳到文件第二行或者第三行检测字串符恩解决只...
c语言 如何在文件中换行检测字串符
比如一个文件有好几行,代码检测文件中的字串符在第二行或者第三行,如何跳行检测?..或者说如何直接跳到文件第二行或者第三行检测字串符
恩 解决 只要检测换行符就行了 ASCII 10 展开
比如一个文件有好几行,代码检测文件中的字串符在第二行或者第三行,如何跳行检测?..或者说如何直接跳到文件第二行或者第三行检测字串符
恩 解决 只要检测换行符就行了 ASCII 10 展开
展开全部
值得一提的是: C语言中没有行读取的标准函数。不过你可以了解下C++中的getline
例子如下:(假如要检查hello)
FILE *ptr;
ptr = fopen("C://a.txt","r");
if (ptr == NULL)
exit(EXIT_FAILURE);
char * line = NULL;
size_t len = 0;
size_t read;
while ((read = getline(&line, &len, fp)) != -1) {
printf("line of length %d :\n", read);
printf("%s", line);
if (strstr(line,"hello"))
{
printf("找到它了\n");
break;
}
}
fclose(ptr);
大致的代码是这样 你可以根据自己的需求DLY下。
例子如下:(假如要检查hello)
FILE *ptr;
ptr = fopen("C://a.txt","r");
if (ptr == NULL)
exit(EXIT_FAILURE);
char * line = NULL;
size_t len = 0;
size_t read;
while ((read = getline(&line, &len, fp)) != -1) {
printf("line of length %d :\n", read);
printf("%s", line);
if (strstr(line,"hello"))
{
printf("找到它了\n");
break;
}
}
fclose(ptr);
大致的代码是这样 你可以根据自己的需求DLY下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你之前的几行字节数固定,可以考虑使用
#include <stdio.h>
int fseek( FILE *stream, long offset, int origin );
直接定位需要检测的数据,如果之前的几行字节数不固定,可以在生成一个伴随的索引文件,记录需要检测字符串的位置,每次根据这个索引文件去检查。如果没有索引文件,之前字节数也不固定的话,还是逐行读取到所需位置吧!
其实,如果文件不是特别大,这个效率损失也是可以接受的,不必要非要搞索引文件。
#include <stdio.h>
int fseek( FILE *stream, long offset, int origin );
直接定位需要检测的数据,如果之前的几行字节数不固定,可以在生成一个伴随的索引文件,记录需要检测字符串的位置,每次根据这个索引文件去检查。如果没有索引文件,之前字节数也不固定的话,还是逐行读取到所需位置吧!
其实,如果文件不是特别大,这个效率损失也是可以接受的,不必要非要搞索引文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接检测换行符的ASCAL码值,应该是13吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这有啥跳过去的,直接继续往下读文件不就是了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询