当前位置:首页 > 代码 > 正文

记事本页面设置源代码(记事本网页代码)

admin 发布:2022-12-19 18:39 151


本篇文章给大家谈谈记事本页面设置源代码,以及记事本网页代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

C语言编写的记事本源代码

#includestdio.h

#includemalloc.h

#includestring.h

#includestdlib.h

#includectype.h

#define NULL 0

#define MAX 100

typedef struct lnode{

char date[MAX]; //存放数据

struct lnode * prior ; //前驱

struct lnode * next ; //后继

int number ; //记录一个节点的字符数!如果是头节点就记录他的节点个数

int quese ; //记录节点在链表中的位置

}lnodetype;

lnodetype * l ; //设置两个全局变量,分别是头节点指针和尾节点指针

lnodetype * end ;

//**********这个函数是用来初始化的**********//

int iniatelist (lnodetype ** l , lnodetype ** end)

{

(*l) = (lnodetype *)malloc (sizeof (lnodetype) ) ;

if ( (*l) == NULL )

{

printf ("没有只够的内存空间!程序即将退出!");

return 0 ;

}

(*l)-prior =(*l)-next = NULL ; //这是双链表

(*l)-number = (*l)-quese = 0;

(*end) = (*l) ;

printf ("程序初始化完毕!");

return 0;

}

//**********这个函数是用来建立节点,并且插入元素的**********//

int link(lnodetype ** l, lnodetype ** end)

{

lnodetype *s ;

s = (lnodetype *)malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

(*end)-next = s ;

s-prior = (*end) ;

(*end) = (*end)-next ;

(*l)-number++ ; //增加一个节点,头节点的number就加1

s-quese = (*l)-number ; //这个是记录节点在链表中的位置

printf ("%d行", s-quese ) ; //这个是节点在整个链表中的位置

gets(s-date) ;

s - number = strlen(s-date) ;

return 0 ;

}

//**********这个是打印链表的函数**********//

int prin (lnodetype ** l, lnodetype ** end)

{

lnodetype * p ;

int i ;

int j = 0;

int couter = (*l)-number ;

p = (*l)-next ;

for (i=0; i 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; inumber-1; i++ )

p = p-next ;

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; icouter; i++ ){ //有几个节点就进行多少次的存贮

ch = p-date[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++ ; //计算单词

}

}

s = s-next ;

inaword = 0 ; //注意这里,把标志置为0了!

}

printf ( "n文本一共有 %d 行" , (*l)-number ) ;

printf ("n此文本一共有 %d 个单词!" , count ) ;

return count ;

}

//**********这个函数是用来实现计算文本行数功能的**********//

int linecouter(lnodetype ** l , lnodetype ** end )

{

int couter ;

couter = (*l)-number ;

return couter ;

}

//**********这个函数是整和一上所有功能的菜单函数**********//

int editmenu(lnodetype ** l , lnodetype ** end )

{

char choice ;

char * p = "cls" ;

int i = 1 ; //这两个变量是用来控制循环的

int j= 1 ;

system (p) ;

prin ((*l) , (*end)) ;

while (j){

printf ("*********************************** e: 编辑相应行 *************************************n") ;

printf ("*********************************** s: 搜索字符串 *************************************n") ;

printf ("*********************************** t: 统计单词个数 ***********************************n") ;

printf ("*********************************** q: 退出编辑 ***************************************n") ;

scanf("%c",choice);

scanf("%c" , choice) ; //????莫名其妙的问题,非要两个请求输入语句才肯停下来!

switch (choice)

{

case 'e' : {

i = 1 ;

while (i)

{

search( (*l) , (*end) );

system (p) ;

prin( (*l) , (*end) ) ;

printf ("n1 继续编辑 0 结束编辑n") ;

scanf ("%d" , i) ;

}

}

break;

case 's' : {

i = 1 ;

while (i)

{

searchstr( (*l) , (*end) );

getchar();

getchar();

system (p) ;

prin( (*l) , (*end) ) ;

printf ("n1 继续搜索 0 结束搜索n") ;

scanf ("%d" , i) ;

}

}

break;

case 't' : {

coutword ( (*l) , (*end) ) ;

getchar() ;

}break;

default : return 0 ;

}

system (p) ;

prin( (*l) , (*end) ) ;

printf ("n1 回到编辑菜单 0 结束编辑n") ;

scanf ("%d" , j) ;

if (j == 1)

system (p) ;

else

return 0 ;

}

return 0 ;

}

//**********实现第一个模块:新建空白文档**********//

int newtext( lnodetype ** l ,lnodetype ** end )

{

printf ( "新文本文件:n" ) ;

int i = 1 ;

char judstr[MAX] ;

lnodetype * temp ;

char jud ;

char * p = "cls" ;

while ( 1 ){

link( (*l) , (*end) ) ;

jud = (*end)-date[0] ;

if ( jud == '5' ){ //输入‘5’结束一切

temp = (*end) ;

(*end) = (*end)-prior ;

free (temp) ;

while (1){

printf ( "******************************* out :退出不保存 ****************************n") ;

printf ( "******************************* edit :编辑信息 *****************************n") ;

printf ( "******************************* quit :退出而不存盘 **************************n") ;

printf ( "******************************* qas :退出且存盘 ****************************n") ;

printf ( "******************************* con :继续输入! *****************************n") ;

gets(judstr) ;

if ( !strcmp(judstr , "out") )

{

exitunsave( (*l) , (*end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( (*l) , (*end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (l , end) ;

return 0;

}

system (p) ;

}

return 0 ;

}

}

return 0 ;

}

//**********这个是装入文件的函数**********//

int loadtaxt( char * filename )

{

FILE * fp ;

lnodetype * l ;

char ch ;

int i = 0 ;

char * p = "cls" ;

char judstr[MAX] ;

lnodetype * head ;

lnodetype * end ;

iniatelist ( head , end) ;

l = end = head ;

if ( (fp = fopen( filename, "r+")) == NULL ){

printf ("文件不能打开!n") ;

return 0 ;

}

ch = fgetc ( fp ) ;

while ( ch != '@' ){

lnodetype *s ;

s = (lnodetype *)malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

end-next = s ;

s-prior = end ;

end = end-next ;

l-number++ ;

s-quese = l-number ;

printf ("%d行", s-quese ) ;

while ( ch != '#'){

s-date[i] = ch ;

ch = fgetc (fp) ;

i++ ;

}

i = 0;

while ( (end-date[i]='a' end-date[i]='z') ||

(end-date[i]='A' end-date[i]='z') ||

(end-date[i]='0' end-date[i]='9' ) ||

(end-date[i]==' ') )

{

printf ( "%c" , end-date[i] ) ;

i++ ;

}

end-date[i] = '\0' ; //注意在节点的最好加上这个,以让退出保存功能函数知道此节点已结束

printf ( "n" ) ;

i = 0;

ch = fgetc ( fp ) ;

}

fclose (fp) ;

printf ("n文件成功装入!n") ;

while (1){

printf ( "******************************* out :退出不保存 ****************************n") ;

printf ( "******************************* edit :编辑信息 *****************************n") ;

printf ( "******************************* qas :退出且存盘 ****************************n") ;

printf ( "******************************* con :继续输入! *****************************n") ;

scanf("%s",judstr);

if ( !strcmp(judstr , "out") )

{

exitunsave( l , end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( l , end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (l , end) ;

return 0 ;

}

system (p) ;

}

return 0 ;

}

//**********主函数**********//

void main ( void )

{

//iniatelist (l , end) ;

//newtext(l , end) ;

char filename[MAX] ;

scanf ( "%s" , filename ) ;

loadtaxt( filename ) ;

}

很不容易做的程序!!!

通过编译

如何用记事本程序查看和修改html网页的源代码

用记事本编写的HTML代码用

浏览器直接预览就行了。

方法是:新建一个文本文档,把后缀名改为html,这样系统就会默认用浏览器打开这个文件了。然后你编辑写代码时可以右击此文件,选择打开方式,然后选择用“记事本”打开这个文件,写完代码后保存即可然后双击文件,就可以在浏览器里预览你写的HTML代码了。

记事本形态的网页源代码怎样修改、应用

按你以上所说,你编辑的只是源码编辑后的结果代码,并不是本身的源代码。所以你是无法保存它于服务器的。如果你要修改网站源代码,请确保你有FTP访问权限,通过FTP下载程序源码,然后用记事本(或DW)打开,保存,重新上传至FTP即可。

记事本页面设置源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于记事本网页代码、记事本页面设置源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/17966.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载