设有一文本文件,其最长的文本行不会超过255个字符。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//三个头文件,分别表示标准化io,标准化库文件,字符串类文件的头文件

int main()
{
int line=0;//记录行数
FILE *fp;//定义文件指针
char FILENAME[100],li[256],indata[255],*sust=NULL;//
printf("Input file name please:");
gets(FILENAME);//获取文件名
if ((fp=fopen(FILENAME,"r"))!=NULL){//如果读取成功,即fopen函数返回值不为空
printf("Input a string please:");
gets(indata);//输入要寻找的那个字符串
while (!feof(fp))//当文件未结束一直执行该操作
{
line++;//行计数加一
fgets(li,255,fp);//读取255个字符
sust=strstr(li,indata);//从字符串li中寻找indata第一次出现的位置(不比较结束符NULL)。参看//
if (sust!=NULL) {//如果未找到
printf("Found it in line %d\n",line);
}
}
fclose(fp);//关闭文件
}
else puts("File not found!");//文件未找到
return 0;
}


从文件逐行读入内存,结果可以放到一个字符数组里,然后在数组里判断有没有要找的串

求看程序哪儿错了~

代入文件名的时候需要用\\,因为在C中\是转义符,有取字串的函数fgets和gets用法相似,定义一个Buffer[256],每次用fgets获取一次行字串,再用你用的办法查找

没有删除字符的函数,一般方法就是通过写覆盖的方式,或者干脆重新写一个文件,再把文件重命名。 写覆盖的方式,需要用fseek函数来修改当前文件句柄的指针所指的位置,在进行写操作就可以将内容覆盖,达到删除的效果。

#15728264794# 文档包含一个或多个过长的文本行 - ******
#佴颜# 可以通过修改编辑器属性!打字不易,如满意,望采纳.

#15728264794# 【求助】C程序 -- 将文件中每一行字符反序(对最佳结果追加30分) - ******
#佴颜# #include <stdio.h>void write_line(FILE *w,char stack[], int sp) {while(sp>0){char c=stack[--sp]; if(c>=0)//ASCII字符{fprintf(w,"%c",c);}else//双字节字符的两个字节不能颠倒{fprintf(w,"%c%c",stack[--sp],c);}} }int main(int argc, char* ...

#15728264794# 易语言取编辑框中最长文本一行 - ******
#佴颜# 代码:运行结果:

#15728264794# delphi中,TStringGrid一行文本太长,显示不完整 - ******
#佴颜# 是否这样做,你照样用TStringGrid控件,同时在窗体上还有一个TMemo组件,让TMemo的内容随着行的变化而变化(随txt格式文本的变化而变化),这样TStringGrid控件的行与TMemo的内容是同步的.

#15728264794# java读取一个10G大小的文本文件,怎么才能快速的得到该文本文件里面长度最长的单词? - ******
#佴颜# 没办法快速,无论如何,你10G 的内容必须得全部读一遍. 常规的面试中这个涉及到内存的使用,只能使用远远低于数据大小的内存去完成任务. 如果是排序,需要分组,结果转储,然后归并. 这里只要最长的一个,那就简单多了. 定义一个变量放置最长的,逐行去读文件,比变量长的就更新变量,读完文件结果就出来了.

#15728264794# 怎样使文本文件中太长的行分成几行? ******
#佴颜# 为了避免出现半个汉字,可转换成WideString,但有新的问题,英文与汉字都为一个宽字符,如许对于AnsiString字符,若满是汉字,则实为80个AnsiString字符,如有英有中混淆则实际字符数为一笔糊处女;40个WideString字符,若满是英文,则为40个

#15728264794# 怎样对一个文本文件排序? ******
#佴颜# 各位专家: 本人有一个问题想就教:有一个文本文件(每一行都定长).我是用AssignFile对其指定名字后,用RESET打开,对其内容进行操作后,将再写至另一文件中.今朝的问题是,须要将它的内容进行排序后,写到另一文件中,我不想用诸如ODBC之类的作法.(因为这只是一个小东东)加之我还要将获得的文件放到UNIX中应用,不想过多地改变文件本身的构造.(今朝我一向是应用EXCEL将其读入,排序后再写回TXT文件)就教大人人,有无什么办法?()

#15728264794# 现在有很多个文本,想把这些文本都放在一个文本文件里,每行显示一个文本,就是说不换行, - ******
#佴颜# 1,插入TXT---打开WORD, 插入文件:(文件类型选择“文本文件txt”)插入所有的TXT文件.2,去掉分段--CTRL+H (查找/替换) 查找里输入“^p” 替换那里不用输入,确定后没有了分段.3,重新复制啊到一个新的TXT文件,OK 结束.

#15728264794# 如何制作文本格式化 - ******
#佴颜# 那还不简单,先插入一个圆,再插入艺术字就好了 插入艺术字,进行格式化.然后自选图形的圆,设置版式四周环绕,再填充颜色改为无填充.并右键组合图形.电脑常识 - 4个回答-解决时间 2009-04-17 带图案的字体是制作的还是有专门字体...

  • ...分别找出一个文本文件中长度最长和最短的行
  • 答:我在linux下测试通过了,是要你的文本文件不太大的话,完全没有问题。include <iostream> include <string.h> include <cstdlib> include <fcntl.h> using namespace std;typedef unsigned char uchar;int fd;uchar buf[...

  • 文件名长度-文件名长度,文件名,长度
  • 答:1、windows系统下文件名长度为:255个英文字符(DOS下8.3格式),包括文件名和扩展名在内,或者是255/2=127个中文字符+1个英文字符2、如果这个文件不在根目录下,而是在某个文件夹下,需要减去文件夹名字的长度。有几层文件夹就需减去所有...

  • 同一个word文档, 设置的行距为什么不一样宽
  • 答:同一个word文档, 设置的行距不一样宽的原因是有些内容没有定义网格。具体步骤如下:我们需要准备的材料分别是:电脑、Word文档。1、首先我们打开需要编辑的Word文档,选中行距不一样的文字。2、然后我们右键单击文字选择打开...

  • 某纯文本文件在操作系统下显示其文件大小刚好是4MB,那么该文件中的汉字...
  • 答:汉字按照GBK 2312来算的话,我们算他三个字节,那么4×1024,再乘以1024,除以三就得到了汉字最多的数量

  • word文档里为什么有的段落不能首行缩进两个字符
  • 答:word文档里如果有的段落不能首行缩进两个字符原因是有手动换行符与段落标记同时出现,所以手动换行符不作为段落的分界,所以此段就不会缩进2个字符。word文档里将全部段落首行缩进两个字符的设置方法及具体操作步骤如下,以wps...

  • word文档中为什么上面还有很大的空,可是字却不能往上走呢
  • 答:word文档中上面还有很大的空,可是字却不能往上走的原因是设置了孤行控制,文档中便不会出现孤行悬在最后单独占一页的现象了。孤行控制是指防止 Microsoft Word 在页面顶端单独打印段落末行或在页面底端单独打印段落首行。解...

  • 在一个文本文件(TXT)中,有100万行,如何删除重复的行?
  • 答:这种给新数组初始化时置零其后置一的做法类似于位图的处理方法故称位图法。它的运算次数最坏的情况为2N。如果已知数组的最大值即能事先给新数组定长的话效率还能提高一倍。参考链接里有示例代码:http://baike.baidu.com/...

  • 从文本文件复制到word里的文件每行都不满行,每行都有换行符号,怎么快速...
  • 答:1、文本文档设置下,去掉自动换行的选项,然后再复制粘贴到word里也试了,也不行,在文本文档里就已经是每行固定字数了。2.文本文档 复制 word打开编辑 选择性粘贴 无格式文本,也不可以解决。

  • c语言编程
  • 答://--- include <stdio.h> include <stdlib.h> include <string.h> int main(void){ int line=0;FILE *fp;char FILENAME[100],li[256],indata[255],*sust=NULL;printf("Input file name please:");gets(FILE...

  • word文档中,有些文字显示不了怎么回事?
  • 答:在编辑文件时,行距不可以是固定值。将行距的.固定值修改为其他行间距即可。文本显示不全在编辑文档时,你会遇到下图所示的情况,文本显示一半。选中文本内容后,点击工具栏中的“行和段落间距”,在下拉菜单中将行距勾选“...

    为传递更多家电数码信息,若有事情请联系
    数码大全网