我正在使用操作系統。但是,我不得不爲開發人員創建「字符串」類型。 我試過typedefs和枚舉,但他們都不符合我的需要。我想讓類型字符串像Windows的VB.Net一樣工作。 像這樣:C++使用類定義新類型
string a
a = "Hello, "
a.CombineString ("World")
int a = a.NumberOfChars()
,所以我想出了這個(在C++)
class string {
char * value = NULL; //My Operating System's Kernel's Printf Function Uses Char Pointers
bool CompareString (char *);
int NumberOfChars() {return (!value);}
void CombineString (char *);
}
bool string::CompareString(char * string_to_compare_with) {
int return_prototype = 0;
return_prototype = strcmp(string::value, string_to_compare_with); //The strcmp() function returns 0 if the char*s are the same and 1 if different.
if(return_prototype == 0) {
return true;
} else {
return false;
}
}
void string::CombineString(char * string_to_add) {
value = strcpy(value, string_to_add);
}
int main() {
string a;
a.value = "Hello, ";
a.CombineString("World!!");
Printf(a);
}
這將打印字符串 「你好,世界!」在我的操作系統的控制檯屏幕上。 但我想只是去
string a = "Hello, ";
不
string a;
a.value = "Hello, ";
我應該怎麼辦?
我的意思是沒有壞處的,但如果你正在寫一個操作系統不應該字符串處理是一樣,一個沒有腦子? –
爲什麼不使用'std :: string':http://www.cplusplus.com/reference/string/string/? –
任何人都可以刪除這個問題嗎?我甚至不知道我是如何寫出如此糟糕的問題的。謝謝 – Arcrascent