c c 面試45 50之字串

2021-09-26 08:35:32 字數 1876 閱讀 7113

45 使用庫函式將數字轉換為字串,下面是常用庫函式

(1) itoa():將整型轉換為字串

(2)ltoa():將長整形轉換為字串

(3)gcvt():將浮點轉換為字串

46 不使用庫函式將整數轉換為字串

-------->通過把整數的各位上的數字加上'\0'轉換為char型別並存到字元陣列

(1)**

1 #include 2

using

namespace

std;34

void int2str(int n, char *str)515

while

(temp)

1620 len = n < 0 ? ++i : i;//

如果n是負數 需要多一位來存放負數

21 str[i] = 0;22

while (1)23

29 str[i] = buf[len - i - 1];//

buf陣列裡的字元拷到字串

30if (i == 0)31

34}3536}37

38int

main2()

39

view code

47 不適用庫函式將字串轉換為數字

(1)**

1 #include 2

using

namespace

std;34

int str2int(const

char*str)513

while (*str != 0)14

19 temp = temp * 10 + (*str - '

0');//

如果當前字元是數字 計算這個值

20 str++;//

移動下乙個字元21}

22if (*ptr == '-'

)2326return

temp;27}

2829

intmain3()

30

view code

48 程式設計實現strcpy函式

(1)**

1 #include 2

3char *strcpy(char* strdest, const

char*strsrc)49

char* strdestcopy = strdest;//

儲存目標字串首位址

10while ((*strdest++ = *strsrc++) != '\0'

)1114}

1516

int getstrlen(const

char*strsrc)

1723

return

len;24}

2526

intmain()

27

view code

49 strcpy與memcpy的區別

(1)複製的內容不同。strcpy只能複製字串,但是memcpy可以複製任何內容(陣列  結構體。。)

(2)複製的方法不同。strcpy不需要指定長度,遇到結束符\0結束。memcpy根據第三個引數決定複製的長度

(3)用途不同  複製除了字串以外的一般就用memcpy

50 改錯之陣列越界

(1)

1

void

test()

2

(2)

1

void

test2()

29 strcpy(string,str1);//

str1表示的字元陣列沒有以\0結尾,strcpy的時候不知道結束字元

10 }

好了 先到這。。。。。還有好幾個任務,加油

C C 之字串問題

問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小...

C C 面試常見題目之字串操作(一)

1,memcpy memmove函式以及二者的區別 原型 extern void memcpy void dest,void src,unsigned int count 用法 include 功能 由src所指記憶體區域複製count個位元組到dest所指記憶體區域。注意 source和desti...

C C 面試常見題目之字串操作(二)

字串是一種常用的資料型別,現在我們將其常用的功能用 實現如下 class string len 0 拷貝構造 string const char s 拷貝構造 string char c,int n memset ptr,c,n const string 拷貝建構函式的原型,1,引用可以改變實參,不...