一个非常非常非常简单的代码,但不知道为什么达不到效果
目标:想要从已获取的char*指针中获取空格前的部分,char *s="at station",获取char *t="at" (这里后面不能有多余的空格)问题:我提取好了保存在t里面了,但是和目标提取文件"at"不相同(strcmp显示为1),后来我用一个for循环发现at后面有很多空格,不过我new的空间不是只有2个么,会什么会出现多的空格呢?
代码如下:(请无视过多的头文件,我只是截取的部分代码出来)
#include<iostream>
#include<fstream>
#include<string>
#include <cstring>
#include<ctime>
#include<vector>
using namespace std;
int get_n(char*s)
{
int i = 0;
while (s[i] != ' ')
{
i++;
}
return i;
}
int main()
{
char *s = "at train station";
int k = get_n(s);
char *t = new char[k];
for (int i = 0; i < k; i++)
{
*(t + i) = *(s+i);
}
char *t1 = "at";
cout << strcmp(t, t1);
for (int m = 0; m < 4; m++){
cout << *(t+m);
}
return 0;
}
求助啊,第一次发帖