Я последовал примеру код здесьНачинающий 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 также является то, что проблема? Если да, то как работает этот пример?
Можете ли вы дать немного больше разъяснений о том, что m_pString это? Вы пытаетесь использовать один массив символов (строка C) или используете ли вы массив строк? – Eclipse
Попытка заглавной буквы каждого символа в одной строке –
вы ** в основном смущены ** об использовании 'char' vs.' char * '; вы, кажется, играете это на слух. Некоторое серьезное чтение С ** настоятельно рекомендуется **, прежде чем продолжить. – vladr