作者smalldulan (妈妈咪阿)
看板C_and_CPP
标题[问题] 字串输出有乱码
时间Sun Feb 22 22:35:23 2009
各位大大可以请教一个问题吗?
我练习字串的时候
写了让使用者输入字串然後将他输出的程式
不知道为什麽~我字串长度要是订的太大~
输出後後面没用到的部份就会出现乱码?
请问这是我长度定义错误吗?
以下是我的程式码:
#include<iostream>
using namespace std;
int main()
{
int i=0;
char str[30];
cout<<"输入想输入的字串:";
cin>>str;
for(i=0;i<(sizeof(str)/sizeof(str[0]));i++)
{
cout<<str[i];
}
system("PAUSE");
return 0;
}
请各位大大帮帮我吧~我正在学习C++~是超新手~
请问问题是出在哪呢?还是解决得方法?
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.142.17.111
1F:→ james732:其实那个回圈…直接用 cout << str; 就可以了 XDD 02/22 22:38
2F:→ james732:计算字串长度可用 strlen,请记得 #include <cstring> 02/22 22:40
3F:→ james732:用 strlen(str) 来取代 (sizeof(str)/sizeof(str[0])) 02/22 22:40
4F:→ james732:至於你的问题…印出sizeof(str)与sizeof(str[0])的值就知 02/22 22:43
5F:推 legnaleurc:请选择std::string 02/22 22:49
6F:→ smalldulan:可以了~谢谢大大们的解答 02/23 01:48