⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scan.cpp

📁 这是一个编译原理中的扫描字符串的程序!希望能与大家分享
💻 CPP
字号:
# include<stdio.h>
# include<stdlib.h>
# include<conio.h>
//声明头文件
int i;
FILE *fp;
FILE *rfp;
char buffer[1000];
//声明变量
int WriteFile(char* filename)
{ char a;
int count=0;
int i=0;
     if((fp=fopen(filename,"w"))==NULL){    //打开文件
      printf("THE FILE DOESN'T OPEN!");exit(0); }
     while(i<1000)    //输入字符限制为1000个      //这里是写入文件,如果没有这个文件则创建文件。其中文件名由句柄指针fp给出
    {
    scanf("%c",&a) ;
    if(a=='0')return i;          //如果你输入0则退出
    fprintf(fp,"%c" ,a);         //否则将输入的字符写入已创建的文件
    i++;      //i是统计已写入的字符个数
     }
   fclose(fp);           // 关闭文件句柄
    return i;
}
int readbuffer()    //子程序开始
{
  int flen=0;       //定义整形变量flen,初始值为0
  int j=0;
  char ch;
  char *filename="zxm.txt";
//声明变量
printf("文件名:zxm.txt \n");
if((rfp=fopen("zxm.txt","r"))==NULL)
    { printf("THE FILE DOESN'T OPEN!");exit(0); }
      while(j<1000)      //限制输出个数
 {
    ch=fgetc(rfp);       //读取文件中的下一个字符
    if (feof(rfp))       //没有到文件末尾
   {
    i=j;                 //此时读到第i个字符
    break;
     }
 buffer[j]=ch;           //将读出的字符放入缓存字符数组
   ++j;
   }
while(flen<j)            //如果flen小于文件长度
{printf("%c",buffer[flen]);   //读取第缓存数组中的第flen个字符
flen++;}                      //数组指针下移
printf("\n");                //换行
return 1;
}    //子程序结束
main()     //main()开始
{
    char *filename={"zxm.txt"};
    int j;
    j=0;
char creatflie='0';
printf("1、输入c创建文件\n");
printf("2、输入o打开文件\n");
scanf("%c",&creatflie) ;
   if(creatflie=='c')
       //printf("\n请输入内容进入你所创建的文件中,输入数字 0 创建完成\n");
       WriteFile(filename);
   if(creatflie=='o')
       readbuffer();
}  //main()结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -