我按照這裏的代碼示例初學C++問題
而在我自己的代碼來實現它,如下所示
void CharString::MakeUpper()
{
char* str[strlen(m_pString)];
int i=0;
str[strlen(m_pString)]=m_pString;
char* c;
while (str[i])
{
c=str[i];
putchar (toupper(c));
i++;
}
}
但是這給了我下面的編譯器錯誤
CharString.cpp: In member function 'void CharString::MakeUpper()':
CharString.cpp:276: error: invalid conversion from 'char*' to 'int'
CharString.cpp:276: error: initializing argument 1of 'int toupper(int)'
CharString.cpp: In member function 'void CharString::MakeLower()':
這是行276
putchar (toupper(c));
據我所知,TOUPPER正在尋找INT作爲參數,還返回一個int,是什麼問題?如果是的話,這個例子如何工作?
你可以給m_pString就是多一點澄清?你是否想要大寫一個單一的字符數組(C字符串)還是大寫字符串數組? – Eclipse 2010-04-22 16:19:53
試圖在單個字符串中大寫每個字符 – 2010-04-22 16:25:13
對於'char'和'char *'的使用,您** **根本上感到困惑**;你似乎正在玩它。在繼續之前,一些嚴重的C閱讀是**強烈推薦**。 – vladr 2010-04-22 16:30:02