我不断收到这个奇怪的问题,这些字符出现在我的char数组中,名字为day[3]
。我的目标是使用计算机时钟并获取日期和时间。我把它放到一个名为dayHolder的字符串中,并且只想将它添加到名为day
的char数组中。但是当我这样做的时候会得到很多奇怪的字符。据我所知,该字符串应该用“\ 0”结束,但不能似乎得到day
只是显示“星期五” ......字符串输出中的奇数字符C++
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
int main() {
// Functions
functions myFunc;
//Variables + installations
string dayHolder;
char day[3];
char whitespace = ' ';
time_t current = time(0);
dayHolder = ctime(¤t);
for (int i = 0; i < 3; i++)
{
day[i] = dayHolder[i];
}
cout << ctime(¤t) << endl;
cout << dayHolder << endl;
cout << day << endl;
return 0;
}
所以我能做些什么来解决这个问题?我相信它的一些简单的东西,我忽略了,所以任何意见或建议,将不胜感激谢谢。
你错过了上串空终止。 – Barmar 2014-09-12 20:18:25
既然你明白这个字符串必须是null结尾的。那你为什么不'char day [4] ... day [3] ='\ 0';'? – 101010 2014-09-12 20:18:52