【发布时间】:2014-07-22 09:10:47
【问题描述】:
我正在尝试使用 strcpy 将字符串放入字符串数组中。 这是我对数组的定义:
char movies[10][150], movie[150];
int i = 0, j = 0;
currentChar = getchar();
while(currentChar != EOF)
{
while(currentChar!='\n')
{
movie[i] = currentChar;
currentChar = getchar();
i++;
}
strcpy(*(movies + j*10*15), (char*)movie);
j++;
currentChar = getchar();
}
尝试在 c++ 控制台中调试它,我收到“缓冲区太小”消息。
注意:我的输入是 “未刮胡子的姜戈:有点血腥,但总体上是一部扎实的电影” 不超过 150 个字符。
感谢您的帮助。
编辑:编辑代码以显示完整图片
【问题讨论】:
-
目的地应该是
*(movies + j)? -
嗨,我应该提到 strcpy 处于一个 while 循环中,它应该将字符串放入 movies[j][0]
-
@user3698757 如果有相关代码未显示,请编辑问题并添加。
-
是的,但
movies[j][0]只是一个字符。你想要movies[j],它是一个 150 个字符的缓冲区。第一个索引指向字符串数组中的字符串/电影标题,第二个索引指向该字符串中的字符。 (如果它没有超出终止的空值,那就是。)