啦啦啦 根據關鍵字進行字串拷貝

2022-05-01 23:42:19 字數 2494 閱讀 7839

實驗作業-根據關鍵字進行字串拷貝

問題描述: 把源字串拷貝到目的字串:

如果指定關鍵字,則以該關鍵字結束(不包括關鍵字本身) 

如果拷貝失敗,則得到空串。

具體要求:實現如下函式原型safestrcpy2keyword(),並在**中呼叫該函式實現上述功能。該函式的實現要考慮各種可能的引數取值,以確保程式不出現崩潰。int safestrcpy2keyword(char* pdestbuffer, //拷貝的目的地位址

char* psourcestring, //拷貝的源位址

int ndestbuffersize, //拷貝的目的地緩衝區長度

char* szkeyword); //指定關鍵字串

返回值:所拷貝的字串長度。如果拷貝失敗,則返回0。

解決方案要求:

輸入引數

輸入包含多組資料,以end結束 

每組資料第一行為不含空格的源字串,長度小於256;接下來的一行或多行都是關鍵字串(長度小於16),一直到end結束。「null」表示關鍵字串為空,此時輸出的拷貝後的長度應為0,拷貝後的字串為空串(也用」null」表示,見下文)。

輸出引數

對於每組資料輸出拷貝的長度和拷貝後的目的字串,以空格分隔。如果該目的字串為空,則用」null」表示。

參考樣例

樣例輸入:

/home/tony/work_server/1/rtest/relayer.out

/            以/為關鍵字

/t/1/r

.null

end      //分別以/,/t,/1/r,.,null為關鍵字進行拷貝

樣例輸出:

0 null

5 /home

22 /home/tony/work_server

38 /home/tony/work_server/1/rtest/relayer

0 null

1 #include2 #include3 #include

4using

namespace

std;56

int safestrcpy2keyword(char* pdestbuffer, //

拷貝的目的地位址

7char* psourcestring, //

拷貝的源位址

8int ndestbuffersize, //

拷貝的目的地緩衝區長度

9char* szkeyword); //

指定關鍵字串

1011

intmain()

2021

if (s2 == "

null")

25int m = safestrcpy2keyword(&s3[0], //

拷貝的目的地位址

26 &s1[0], //

拷貝的源位址

27255, //

拷貝的目的地緩衝區長度

28 &s2[0]); //

指定關鍵字串29}

3031

return0;

3233}34

int safestrcpy2keyword(char* pdestbuffer, //

拷貝的目的地位址

35char* psourcestring, //

拷貝的源位址

36int ndestbuffersize, //

拷貝的目的地緩衝區長度

37char* szkeyword)//

指定關鍵字串

3847

else

5051}52

if (j > 0

) 58

if (i - len2 != 0)67

68if (i - len2 == 0)71

return i -len2;72}

73if (j == 0

)77 }

view code

基本的實現過程使用到了

1.字元指標,如char *p ="abcs",p 其實指向這個字串常量/字元陣列的第乙個字元的位址。

2.strlen(s)函式,求串長,如strlen(p) = 4;

3.指標指向乙個string 變數,

如 : string ss = "";//空串

char * k = &ss[0];

k =(char*) malloc(sizeof(char)*size);//申請空間,size為所要賦值的字元個數,取大一點

for(int i =0; i < 100;i++)

k[i] = 'a';

cout<

字串關鍵字的雜湊對映

7 14 字串關鍵字的雜湊對映 25 分 給定一系列由大寫英文本母組成的字串關鍵字和素數p,用移位法定義的雜湊函式h key 將關鍵字key中的最後3個字元對映為整數,每個字元佔5位 再用除留餘數法將整數對映到長度為p的雜湊表中。例如將字串azdeg插入長度為1009的雜湊表中,我們首先將26個大寫...

Python的關鍵字和文件字串

python的關鍵字 python的 關鍵字處理常見的if,while,else,for,continue,return 等關鍵字,還有其他的關鍵字如下 python特殊識別符號 python中的下劃線作為變數的字首或者字尾,用來表示特殊的識別符號 表示乙個私有變數,使用from module im...

字串關鍵字的雜湊對映 (25 分)

給定一系列由大寫英文本母組成的字串關鍵字和素數p,用移位法定義的雜湊函式h key 將關鍵字key中的最後3個字元對映為整數,每個字元佔5位 再用除留餘數法將整數對映到長度為p的雜湊表中。例如將字串azdeg插入長度為1009的雜湊表中,我們首先將26個大寫英文本母順序對映到整數0 25 再通過移位...