题目:
写一个文本处理程序,识别文本中包含有a开头b结尾的字符串,打印出相应的行数a的开始位,
b的结束位,例如,fghujiaghvfdbnmh,打印出1,7,13;表示第一行,a的位置为7,b的位置为13。
程序写完,请自己编辑相应的文件进行测试。
代码:
这个题比较简单,使用fopen和fgets就能解决,,题目没有要求输出总行数,不然最后还要判断空行
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char s[100];
FILE *p;
int lines=0;
p=fopen("D:\\11.txt","r");
if(p){
while((fgets(s,100,p))!=NULL){
++lines;
char c1='a';
char c2='b';
int m = strlen(s);
// printf("s长度:%d\n",m);
int i,j;
for(i=0;i<m;i++){
if(s[i]==c1){
for(j=i;j<m;j++){
if(s[j]==c2){
printf("行数:%d,a的位置:%d,b的位置:%d\n",lines,i+1,j+1);
continue;