next ; } return 0 ; } //*********这个查找和编辑相应行的函数**********//。c怎么写脚本( 二 )。" />

c怎么写脚本( 二 )

< couter; i++){ printf ( "%d行"  ,  i+1 ) ; j = 0; while ( ( p->date[j]>='a' && p->date[j]<='z') || (p->date[j]>='A' && p->date[j]<='z') || p->date[j]>='0' && p->date[j]<='9') { printf ( "%c" , p->date[j] ) ; j++ ; } printf ("n") ; p = p->next ; } return 0 ; } //*********这个查找和编辑相应行的函数**********// int search (lnodetype ** l, lnodetype ** end ) { int number ; scanf ("%d" , &number) ; int i ; lnodetype * p ; p = (*l)->next ; for ( i=0; inext ; printf ("%d行"  ,  number ) ; gets (p->date) ; return 0 ; } //**********这个是在文本文件里搜索字符串的函数**********// int searchstr(lnodetype ** l , lnodetype ** end) { char ptr[100] ; int arrycouter ; int mystrcmp( char *, char * , int ) ; printf ( "ok!现在输入你查找的字符串!" ) ; scanf ( "%s" , ptr ) ; arrycouter = strlen (ptr) ; lnodetype * s ; s = (*l)->next ; char * p ; int i = 1 ; int couter = 0 ; int number = (*l)->number ; p = (char *)s->date ; while ( i && number ){ // i=1是 , 证明没有找到 , 向第二个节点继续寻找 while ( i && ( ( (*p >= 'a') && (*p <= 'z') ) || ( (*p >= 'A') && (*p <= 'Z') ) ) ){ i = mystrcmp ( p , ptr , arrycouter ); if ( i == 1 ){ printf ("字符串已经在第%d行 , 第%d个字符开始 , " , s->quese, couter+1 ); i = 0 ; } else { p++ ; couter++; i = 1 ; } } s = s->next ; p = (char *)s->date ; number -- ; } if ( i == 1 ) printf ("字符串在本文档中不存在!"); return 0 ; } //**********(1)这个函数是用来实现退出不保存功能的**********// int exitunsave(lnodetype ** l, lnodetype ** end) { lnodetype * s ; while( (*l) != (*end) ){ //如果不保存的话 , 最好是把节点的空间都释放 , 节省空间 s = (*end) ; (*end) = (*end)->prior ; free( s ) ; } return 0 ; } //**********(2)这个函数是用来实现退出但保存功能的**********// int quitandsave( lnodetype ** l , lnodetype ** end ) { FILE * fp ; char ch ; char filename[20] ; lnodetype * p; int i ; int j ; int couter = (*l)->number ; p = (*l)->next ; printf ("请输入文件名:") ; scanf ("%s" , filename ) ; if ( (fp = fopen( filename , "w" )) == NULL ){ printf ("文件不能打开!n"); return 0 ; } for ( i=0; idate[0] ; j = 1 ; while (ch != '\0'){ fputc (ch , fp) ; ch = p->date[j] ; j++ ; } p = p->next ; fputc ( '#' , fp ) ; //注意在每个节点的后面加上结束的符号 } fputc ( '@' , fp ) ; //整个文件关闭的标志 fclose ( fp ) ; //注意关闭文件 ,  return 0 ; } //**********由于库函数比较字符串提供的功能不满足要求 , 故自己写了一个**********/ int mystrcmp( char * p ,char * sour ,int number ) { while ( number && (*p) == (*sour) && ( ( (*p >= 'a') && (*p <= 'z') ) || ( (*p >= 'A') && (*p <= 'Z') ) )){ p++ ; sour++ ; number-- ; } if ( number == 0 ) return 1 ; else return 0 ; } //**********这个函数是用来实现统计字符串功能的**********// int coutword(lnodetype ** l , lnodetype ** end) { //考虑到只统计一行的单词没有意义 , 故统计整个文本 int yes = 1 ; //这个是进入单词的标志 int no = 0 ; //在单词外面的时候的标志 int i , j ,inaword ,count = 0 ; inaword = no ; lnodetype * s = (*l)->next ; for (j=0; j<(*l)->number; j++){ for ( i=0; (s->date[i]>='a' && s->date[i]<='z') || (s->date[i]>='A' && s->date[i]<='z') || (s->date[i]>='0' && s->date[i]<='9' ) || (s->date[i]==' '); i++ ) { if ( s->date[i] == ' ' ) inaword = no ; else if ( inaword == no ) { inaword = yes ; count++ 。
4. 脚本啥意思 脚本是批处理文件的延伸 , 是一种纯文本保存的程序 , 一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合 , 在其中可以实现一定的逻辑分支等 。脚本简单地说就是一条条的文字命令 , 这些文字命令是可以看到的(如可以用记事本打开查看、编辑) , 脚本程序在执行时 , 是由系统的一个解释器 , 将其一条条的翻译成机器可识别的指令 , 并按程序顺序执行 。因为脚本在执行时多了一道翻译的过程 , 所以它比二进制程序执行效率要稍低一些 。