本文目录一览:
- 1、C语言基本操作
- 2、C语言文件操作的特点?
- 3、C语言文本操作
C语言基本操作
标准输入输出应加头文件其预处理命令为
#includestdio.h(是C的编译器的话可以不加)
printf(格式控制,输出列表)如:
pritnf("%d,%c\n",a,b)
函数原型 int printf(char *format,arg,……)
scanf(格式控制,输出列表)如:
scanf("%d,%c\n",a,b)
函数原型 int scanf(char *format,arg,……)
其他常用的标准输入输函数如getchar,gets,putchar,puts等在这里就不具体说明了
请参看C库函数(C语言的书上都有)
C语言文件操作的特点?
一批数据以文件的组织形式可以存放在外部介质(主要为磁盘,光盘等)上,也可从介质上读入内存.操作系统是以文件为单位对数字进行管理的.而各种C 的文件系统对其文件则可进行直接操作.本章所介绍的是ANSI C 的文件系统以及对文件的读写.
从本质上看,一个C文件不外乎是由一系列的字节流或二进制流组成.前者对应的文件叫ASCII(或文本)文件;后者叫二进制文件;二进制文件是把数据在内存中存储的形式原样输出到磁盘上;而文本文件则要经过把数据中每个字符转换为ASCII码值后存储;在由磁盘向内存中加载时,需要反向转换.
文件系统从对文件处理方法上又分为:"缓冲文件系统"和"非缓冲文件系统". 缓冲文件系统当文件打开后,系统自动为每个文件开辟一个缓冲区(缓冲区为内存的一个区域),从磁盘向内存加载,要通过文件缓冲区,每当缓冲区满后,送入内存(程序数据区);从内存向磁盘写文件时,先将数据写入缓冲区,每当缓冲区写满后,再一次写入磁盘.
C语言文本操作
修改了一下,可以编译通过,也可以运行,但是不知道是不是你先要的功能
#includestdio.h
#includestring.h
#define INITSIZE 1000
typedef struct
{
char *data;
int length;
int listsize;
}sqlist;
void insert(sqlist *L)
{
sqlist * q;
L-data=(char*)malloc(INITSIZE*sizeof(char));
gets(L-data);
q=L;
return q;
}
void tongji(sqlist *p)
{
char c;
int all,word,number,blank;
int i = 0;
char *p_data = p-data;
while(p_data[i]!=0)
{
c=*p_data;
all=word=number=blank=0;
all=all+1;
if((c='a'c='z')||(c='A'c='Z'))
word=word+1;
else if(c='0'c='9')
number=number+1;
else if(c==32)
blank=blank+1;
p_data++;
}
printf(" words is %d\n numbers is %d\n blanks is %d\n all is %d \n",word,number,blank,all);
}
search(sqlist *p)
{
char str2[255],*p1,*p2, *temp;
int sum=0;
printf("input one search strings:\n");
gets(str2);
p1=p;
p2=str2;
while (*p1!='\0')
{
temp=p1;
if(*temp==*p2)
{
while((*temp==*p2)(*p2!='\0')(*temp!='\0'))/*比较开始相同的字符串*/
{
temp++;
p2++;
}
}
p1++;
if(*p2=='\0') sum=sum+1;
p2=str2;
}
printf("%d",sum);
}
void deletechar(sqlist *s,char t[])
{
int i,k;
int flag=0;
for(i=0; *(s-data + i)!='\0';i++)
{
for(k=0; t[k]!='\0';k++)
{
if(*(s-data + i+k)==t[k])
flag=1;
else
{
flag=0;
break;
}
}
if(flag)
{
strcpy(s-data +i,s-data+i+k);
--i;
}
if(!flag) continue;
}
printf("%s\n",s-data);
}
main()
{
char str2[255];
sqlist begin;
insert(begin);
tongji(begin);
search(begin);
printf("please input the words you want to delete:\n");
gets(str2);
deletechar(begin,str2);
}