#include "stdafx.h"
#include <iostream>
using namespace std;
void ChangeString(char str[])
{
int nStrlen = strlen(str);
if(nStrlen>45||nStrlen<=0)
{
return;
}
if(nStrlen >0)
{
int i = 0;
for(i = 0;str[i] != '\0';i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i] = str[i] - 32;
}
else
continue;
}
str[i] = '\0';
}
}
int _tmain(int argc, _TCHAR* argv[])
{
//char* str = new char[500];
//str = "AbcdefGHIGKL";
//ChangeString(str);
//cout<<str<<endl;
//delete [] str; char str[] = "AbcdefGHIGKL";
ChangeString(str);
cout<<str<<endl;
return 0;
}用指针出错。出错语句
str[i] = str[i] - 32;
这几天心情烦躁,压力大啊。
解决方案 »
- API读取文件时,要求存储数组为二进制形式,并显示出来?
- 求入侵数据库高手 有的加QQ234225415
- sdi单文件框架窗口位置问题
- 关于带有虚函数的类的内存结构
- 在一个程序中创建多个窗口
- 数据库的一些备份问题
- 一个关于ListView 的问题,一定给分
- #ifdef_debug #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[]=_FILE是什么意思???
- 一dll在VB调用时窗口无法再响应点击,使之中断dll的调用。该怎么解决?
- 哪位大哥能详细介绍一下回调函数,以及它有何用途?在哪种情况下应把函数声明为回调函数?
- 在win32的基础上,画出正弦图
- 关于edit的问题
using namespace std;
void ChangeString(char str[])
{
int nStrlen = strlen(str);
if(nStrlen>45||nStrlen<=0)
{
return;
}
if(nStrlen >0)
{
int i = 0;
for(i = 0;str[i] != '\0';i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i] = str[i] - 32;
}
else
continue;
}
str[i] = '\0';
}
}
void main()
{
//char* str = new char[500];
//str = "AbcdefGHIGKL";
//ChangeString(str);
//cout<<str<<endl;
//delete [] str; char str[] = "AbcdefGHIGKL";
ChangeString(str);
cout<<str<<endl;
}
调试通过,没问题。。
using namespace std;
void ChangeString(char str[])
{
int nStrlen = strlen(str);
if(nStrlen>45||nStrlen<=0)
{
return;
}
if(nStrlen >0)
{
int i = 0;
for(i = 0;str[i] != '\0';i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i] = str[i] - 32;
}
else
continue;
}
str[i] = '\0';
}
}
int main(int argc, char* argv[])
{
char* str = new char[500];
strcpy_s(str,500,"AbcdefGHIGKL"); //这样才是赋值
//str = "AbcdefGHIGKL";
ChangeString(str);
cout<<str<<endl;
delete [] str; //char str[] = "AbcdefGHIGKL";
//ChangeString(str);
//cout<<str<<endl;
return 0;
}
//str = "AbcdefGHIGKL";
=========
指针是一个地址,你这样写当然出错