【发布时间】:2009-03-04 22:22:27
【问题描述】:
所以我有一个程序可以将 char* 的东西变成小写。它通过迭代和操作 ascii 来实现。现在我知道在 c++ 中可能有一些库,但这不是重点——我是一名试图掌握 char*s 和其他东西的学生:)。
这是我的代码:
#include <iostream>
using namespace std;
char* tolower(char* src);
int main (int argc, char * const argv[])
{
char* hello = "Hello, World!\n";
cout << tolower(hello);
return 0;
}
char* tolower(char* src)
{
int ascii;
for (int n = 0; n <= strlen(src); n++)
{
ascii = int(src[n]);
if (ascii >= 65 && ascii <= 90)
{
src[n] = char(ascii+32);
}
}
return src;
}
(这不是作业;))
它构建得很好,但是当我运行它时,我得到一个“由于信号 10,调试器已退出”,Xcode 将我指向该行:“src[n] = char(ascii+32);”
谢谢!
标记
【问题讨论】:
-
另外,转换为 int 并再次转换回来的思考过程是什么?上次我检查时,char 已经是 c++ 中的数字类型了。
标签: c++