實驗作業-根據關鍵字進行字串拷貝
問題描述: 把源字串拷貝到目的字串:
如果指定關鍵字,則以該關鍵字結束(不包括關鍵字本身)
如果拷貝失敗,則得到空串。
具體要求:實現如下函式原型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 #includeview code4using
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 }
基本的實現過程使用到了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 再通過移位...