为什么这个函数在内部调用时有效?

时间:2012-07-30 19:34:03

标签: c++

如果我在currencyConverter.cpp本身中调用此函数stringToUpper(str2),则其工作并返回大写。

void currencyConverter::stringToUpper(string &s)
{
   for(unsigned int l = 0; l < s.length(); l++)
  {
    s[l] = toupper(s[l]);
  }
}

但是我有一个名为unitTest.cpp的文件,它执行此操作:

#include "unitTest.h"
#include "currencyConverter.h"

CPPUNIT_TEST_SUITE_REGISTRATION(unitTest);


unitTest::unitTest() {
}

unitTest::~unitTest() {
}

void unitTest::setUp() {
}

void unitTest::tearDown() {
}

void stringToUpper(string&);
void unitTest::testStringLowerToUpper()
{
string str = "ILOVECPLUSPLUS";
string str2 = "ilovecplusplus";

cout << "\nChecking if string 1 '" << str << "' equals string 2 '" << str2 << "'";
CPPUNIT_ASSERT_EQUAL(str,str2);

//this part i will use my stringToUpperFunction to test.
currencyConverter c;
c.stringToUpper(str2);

cout << str2 << endl;
}

当我尝试打印str2时,它仍然是ilovecplusplus而不是大写。

我的代码或电话有什么问题?

0 个答案:

没有答案