本文目錄一覽:
- 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);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254603.html