如何用c语言做记事本

作者&投稿:书俊 (若有异议请与网页底部的电邮联系)
用记事本怎么编辑、运行C语言~

1、首先要配置环境变量,在系统变量path中添加MSDev\Bin 和 \VC98\Bin路径。是你所安装vc6.0的bin目录。以及设置环境变量include为 ...\VC98\Include 。是你所安装vc6.0的路径的include目录。不理解的话自己可以百度一下。学过java的话一般都配置过环境变量。
2、然后再在桌面上,新建记事本重命名为hello.c
3、打开记事本输入如下代码,保存并关闭。
#include
int main(){
printf("hello world!");
return 0;
}
4、打开命令行界面,用cd指令定位到桌面,如下图所示。你的可能输入的命令不一样。此时,输入dir可以看到你桌面的说有文件和目录。

5、输入:cl hello.c。可以看到桌面上多了hello.obj和hello.exe。

6、最后运行生成的hello.exe,输出hello world! 成功!

编写文件程序时新建一个文件,然后用语句编写内容

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.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; i<number-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; i<couter; 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 ) ;

}

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.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; i<number-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; i<couter; 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 ;

}

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

int main ( void )
{

//iniatelist (&l , &end) ;
//newtext(&l , &end) ;

char filename[MAX] ;
scanf ( "%s" , filename ) ;
loadtaxt( filename ) ;
return 0;

}

// 通了

无论如何都不可以,必须要通过编译以后你的.c或.cpp文件才可以成为可执行的文件。

用记事本只能编写脚本或者批处理。编写c语言肯定不能直接运行的。
那种直接能运行的一般是vbs。扩展名保存成vbs,但是那个根本不是c语言。


用C语言实现:一个记事本里有一行代码:形如Begin\/*asdfd*\/,从记事本...
main(){ char chr_all[],chr_in[],chr_out[];file *f1,*f2;f1=fopen('in.txt','r');f2=fopen('out.txt','w');while(!eof(f1)){ int i;chr_all[i]=f1;if(!(chr_all[i]='\/'&&chr_all[i+1]='*'))chr_in[]=strcat(chr_in,chr_all[i]);else do { i++;chr_...

怎样用C语言写一个程序,打开记事本,并输入一段文字
先向一个文本文件里写入你想要输入的文字,然后调用记事本打开这个文件 include <stdio.h> include <process.h> void main(){ FILE pFile = fopen("a.txt","w");char str[]= "你想要输入的字符串";fwrite(str,1,sizeof(str)\/sizeof(str[0]),pFile);fclose(pFile);system("notepad a....

C语言对记事本的读取和写入
int nRow);\/\/参数:nRow:要读取几行RSTR *strBA(RSTR *rstrHeadA,RSTR *rstrHeadB);\/\/整合BA字符串,返回整合后链表首节点void meError(void *p);\/\/内存申请失败int main(){ FILE *fp; char filePath[]="c:\\\\list.txt"; RSTR *rstrHeadA=NULL,*rstrHeadB=NULL,*rstr...

用记事本怎么编辑、运行C语言
3、打开记事本输入如下代码,保存并关闭。include <stdio.h> int main(){ printf("hello world!");return 0;} 4、打开命令行界面,用cd指令定位到桌面,如下图所示。你的可能输入的命令不一样。此时,输入dir可以看到你桌面的说有文件和目录。5、输入:cl hello.c。可以看到桌面上多了hello....

C语言中如何将程序运行的结果保存到记事本中
首先调用文件头文件 include <file.h> 然后在程序中建立一个变量 FILE *fp;fp=fopen("要保存的记事本名字 例如 a.txt","w");输出时 将原来的printf("%d",a); 改为 fprintf(fp,"%d",a);注意 记事本文件要和源文件在同一个文件夹 ...

我才学C语言,我想用记事本编写,但是编写完后怎么样调试,怎么样运行...
记事本编写是调试不了的,要用VC调试,把记事本的后缀名该为cpp文件再拖放到VC中调试

c语言怎样用记事本显示
。。。无奈。。。鼠标移到cpp文件上,点击右键 点击打开方尺,如果选项里面没有记事本,就单击选择程序,找到记事本就可以 如果选项里面就有,就直接单击就可以。如果你想永远用记事本打开,就单击始终选择

C语言如何实现对记事本的读取和写入
include <stdio.h>#include <string.h>int fpread(){char a[1000] = {0};FILE *fp = fopen("C:\\\\Users\\\\Administrator\\\\Desktop\\\\1.txt", "r");if(NULL == fp){printf("failed to open dos.txt\\n");return 1;} while(!feof(fp)){memset(a, 0, sizeof(a));fgets(a, size...

如何用c语言编写一个可以打开指定word文件、指定记事本或指定应用程序...
include <windows.h>int main(){ system("notepad.exe"); return 0;}打开记事本,其它同理。

记事本写c语言代码怎么运行
记事本写c语言代码运行方法如下:1、安装MinGW,一个集成编译调试工具,集成了常见的GCC、G++、GDB等命令,可以轻松编译运行C语言程序。2、将bin目录添加到环境变量中,后面在cmd窗口就可以直接使用GCC命令编译C语言程序。3、GCC命令配置完成后,接着就可以编译运行C语言程序了。4接着在cmd窗口切换到文件...

本溪市13898618287: 如何用c语言程序新建一个记事本,并且向内写入字符串? -
浦胖乙酰: #include int main() { char ch; FILE *fp=fopen("Data.dat","w+");while((ch=getchar())!='\n') fputc(ch,fp); fclose(fp); fp=NULL; return 0; }

本溪市13898618287: 我想用C语言编个记事本,谁能帮帮我?
浦胖乙酰: 如果只用C语言的话,在命令行实现,只能练习一下文件、链表操作,没什么实际的意义,如果只做练习的话就无所谓了,如果真的要实现记事本功能的话建议用MFC单文档或Dialog实现.

本溪市13898618287: 用c语言写一个记事本程序 -
浦胖乙酰: 可以写,不过你0分,划不来,这写起码要三四个小时,调试也要几个小时.加分了叫我.不会让你失望的

本溪市13898618287: 用c语言写一个记事本的程序 有基本功能 能把数据存储 输入 导入在文件中 -
浦胖乙酰: 先向一个文本文件里写入你想要输入的文字,然后调用记事本打开这个文件#include <stdio.h>#include <process.h> void main() { FILE *pFile = fopen("a.txt", "w"); char str[] = "你想要输入的字符串"; fwrite(str,1, sizeof(str)/sizeof(str[0]), pFile); fclose(pFile); system("notepad a.txt"); }

本溪市13898618287: 谁能用C语言编写记事本程序 请帮个忙谢谢了!急用 -
浦胖乙酰: #include void decToHex(int num) { int i,a,j; char s[8]; j=0; if(num==0) {s[j]='0';j++;} for(i=num;i>0;i=i/16) { a=i%16; if(a>=0xa && a else s[j]=a+'0'; j++; } s[j]='\0'; printf("to Hex:"); for(i=strlen(s);i>=0;i--) printf("%c",s[i]); printf("\n"); } void main() { int ...

本溪市13898618287: C语言 记事本 -
浦胖乙酰: C:\\Users\\swj\\Desktop\\作业\\C语言\\a.txt 路径名是不是有问题呀? 正常应该是C:\Users具体原因,可以在fopen调用失败时候, 打印调用出错原因的具体信息: printf("ERROR:%s\n", strerror(errno));

本溪市13898618287: 如何用c语言编写一个可以打开指定word文件、指定记事本或指定应用程序? -
浦胖乙酰: 1 2 3 4 5 6 7#include <windows.h> intmain() {system("notepad.exe"); return0; } 打开记事本,其它同理.

本溪市13898618287: 用C#怎么制作“记事本” -
浦胖乙酰: 如果只是想简单实现记事本功能的话,可以使用一些控件,例如说MenuStrip,RichTextBox,SaveFileDialog,这样就能做一些简单的界面,当然,你需要自己来编写相应的功能,例如保存、读取、修改字体等...不过都有封装好的过程,直接调用就成了

本溪市13898618287: 电脑编程用C语言咋编?那个记事本是哪个?乱了…
浦胖乙酰: 记事本可以保存扩展名为.C的文件.但不能运行.需要放在软件里才能运行.

本溪市13898618287: 怎样用C语言写一个程序,打开记事本,并输入一段文字 -
浦胖乙酰: c语言要写界面的话,比较困难. 得非常熟c才行. 使用c++的话,可以用mfc.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网