首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建动态Cstring

创建动态Cstring
EN

Stack Overflow用户
提问于 2013-06-06 03:16:55
回答 1查看 2.5K关注 0票数 1

我所面临的位置是,我需要创建一个用户输入大小的动态字符串(所以我尝试使用动态cstring)。

代码语言:javascript
复制
char * S;
int x;

cin >> x;

S = new char[x];

for (int i = 0; i < x; i++) {
    S[i]=' ';        //trying to make it a string of spaces so I can fill it in later
}

在这样做并输出字符串(cout << S;)时,我得到了x个空格和一些随机字符,我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2013-06-06 03:29:39

延伸我之前的评论。我认为您需要在末尾添加一个空字符,以便std::cout知道何时停止,否则它将继续尝试打印S所指向的内存内容。

代码语言:javascript
复制
char * S;
int x;
cin >> x;
S = new char [x + 1]; // +1 for the null character

int i;
for (i=0; i<(x); i++)
  S[i] = ' ';

S[i] = '\0';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16948028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档