/*
實現字串的strcpy,strcmt,strcmp,itoa,atoi函式
*/
#include#include#includevoid fstrcpy(char *,char *);
void fstrncpy(char *,char *,size_t );
void fstrcmt(char *,char *);
void fstrncmt(char *,char *,size_t );
int fstrcmp(const char *,const char *);
int fstrncmp(const char *,const char *,size_t size);
int fatoi(const char *);
void fitoa(int ,char*);
void ffff(int value ,char * str);
int main()
void fstrcpy(char *des,char *str)//將str字串copy到des字串
*des=0;//以\0結尾的才是字串
}void fstrncpy(char *des,char *str,size_t size)//將str字串的前size個字元copy 到des字串中
*des=0;
}void fstrcmt(char *des,char *str)//將str字串連線到des字串之後
while(*str!=0)//將str字串的每乙個字元copy到des字串之後
*des=0;
}void fstrncmt(char *des,char *str,size_t size)//將str字串的前size個字串連線到des字串之後
while(*str!=0&&size>0)
*des=0;
}int fstrcmp(const char *str1,const char *str2)//比較str1和str2兩個字串的大小
return 0;//兩個字串大小長度相同時,返回0
}int fstrncmp(const char *str1,const char *str2,size_t size)
//比較str1和str2兩個字串的前size個字串的大小
return 0;
}int fatoi(const char *str)
//將str字串(「 -123456 22」)轉化為數字,
//去掉第乙個數字前面的空格,判斷正負符號,取每乙個字元變成數字
//結果為-123456
//判斷符號
if(*str=='-'||*str=='+')
str++;
} //將字元轉化為數字
while(*str>=48&&*str<=57)
return isz==1?shu:-shu;//根據符號返回數字,isz=1返回數字,否則返回負數
}void fitoa(int value ,char* str)//將數字value轉化為乙個字串
//計算位長度
while(jvalue>=10)
//取每位上的數,變成字元,存到字串中
//for(;w>0;w/=10)
// //*str=0;
str[length--]=0;
while(length>=0) }
void ffff(int value ,char * str)
//計算位數,長度
while(jvalue>=10)
for(;w>0;w/=10)//將數字轉化為字元,方法1,利用位數轉化
*str=0;
//方法2利用數字的長度進行轉化
//str[length--]=0;//最後乙個元素為0
//while(length>=0)
//}
字串和字串函式
字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...
字串和字串函式
1.字串字面量 字串常量 用雙引號括起來的內容稱為字串字面量,也叫字串常量。字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期內存在,計時函式被呼叫多次。用雙引號括起來的內容被視為指向該字串儲存位置的指標。hello 中的 hello 類似於乙個陣列名...
字串函式
1 獲取字串的長度 length 2 判斷字串的字首或字尾與已知字串是否相同 字首 startswith string s 字尾 endswith string s 3 比較兩個字串 equals string s 4 把字串轉化為相應的數值 int型 integer.parseint 字串 lon...