串操作应用举例(文本编辑) 您所在的位置:网站首页 数据结构文章编辑器代码 串操作应用举例(文本编辑)

串操作应用举例(文本编辑)

2023-12-23 20:57| 来源: 网络整理| 查看: 265

// algo4-2.cpp 文本行编辑 #include"c1.h" #include"c4-2.h" // 采用串的堆分配存储结构 #include"bo4-2.cpp" // 串的堆分配基本操作 #define MAX_LEN 25 // 文件最大行数 #define LINE_LEN 75 // 每行字符数最大值+1 #define NAME_LEN 20 // 文件名最大长度(包括盘符、路径)+1 // 全局变量(见图4.12) HString T[MAX_LEN]; char str[LINE_LEN],filename[NAME_LEN]=""; FILE *fp; int n=0; // 文本行数 void Open() { // 打开文件(新或旧) if(filename[0]) // 文件已打开 printf("已存在打开的文件\n"); else { printf("请输入文件名(可包括盘符、路径,不超过%d个字符): ",NAME_LEN-1); scanf("%s",filename); fp=fopen(filename,"r"); // 以读的方式打开文件 if(fp) // 已存在此文件 { while(fgets(str,LINE_LEN,fp)) // 由文件读入1行字符成功 { str[strlen(str)-1]=0; // 将换行符10强制改为串结束符0 if(n>=MAX_LEN) { printf("文件太大\n"); return; } StrAssign(T[n],str); n++; } fclose(fp); // 关闭文件 } else printf("新文件\n"); } } void List() { // 显示文本内容 int i; for(i=0;iMAX_LEN) { printf("插入行太多\n"); return; } if(n>=l-1&&l>0) { for(i=n-1;i>=l-1;i--) T[i+m]=T[i]; n+=m; printf("请顺序输入待插入内容:\n"); for(i=l-1;i=l+m-1&&l>0) { for(i=l-1+m;i=k-1&&n>=l-1+m&&(k>=l+m||k=k-1;i--) T[i+m]=T[i]; n+=m; if(k


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有