我遇到比較2個字符字符串都是同樣的問題時:函數strncpy字符的字符串問題增加長度
char string[50];
strncpy(string, "StringToCompare", 49);
if(!strcmp("StringToCompare", string))
//do stuff
else
//the code runs into here even tho both strings are the same...this is what the problem is.
如果我使用:
strcpy(string, "StringToCompare");
,而不是:
strncpy(string, "StringToCompare", 49);
它解決了這個問題,但我寧願插入字符串的長度而不是它自己。
什麼錯嗎?我該如何解決這個問題?
錯的是你使用的是C字符串,而不是的std :: string – 2012-03-22 19:49:06
你必須添加字符串'\ 0'的結尾,因爲您將「string」聲明爲字符的向量,而不是字符串。 – Cristy 2012-03-22 19:49:18
「真實世界」中的字符串是否有49個字符長? – 2012-03-22 19:53:34