如何调试此代码以按空格将数组拆分
How to debug this code for splitting an array by space?
我需要编写一个程序来获取句子并通过定界符(Space)将其单词拆分;所以我已经写了下面的代码,但似乎无法正常工作。有什么想法如何调试此代码?在此先感谢您的帮助。这是我到目前为止提出的:
#include <iostream>
using namespace std;
const int BUFFER_SIZE=255;
int main()
{
char* buffer;
buffer=new char[255];
cout<<"enter a statement:"<<endl;
cin.getline(buffer,BUFFER_SIZE);
int q=0, numofwords=1;
while(buffer[q] != ' '){
if(buffer[q]==' ') numofwords ++;
q ++;
}
char** wordsArray;
wordsArray= new char* [numofwords];
int lenofeachword=0, num=0;
int* sizeofwords=new int [numofwords];
for(int i=0;i<q;i++){
if(buffer[i]==' ')
{
sizeofwords[num]=lenofeachword;
wordsArray[num]=new char[lenofeachword];
num++;
}else{
lenofeachword++;
}
}
sizeofwords[num]=lenofeachword;
wordsArray[num]=new char[lenofeachword];
int k=0;
for(int i=0; i<numofwords;i++){
for(int j=0;j<sizeofwords[i];j++)
{
wordsArray[i][j]=buffer[k];
k++;
}
k++;
}
for(int i=0; i<numofwords;i++){
for(int j=0;j<sizeofwords[i];j++)
{
cout<<wordsArray[i][j];
}
cout<<endl;
}
}
#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
int main() {
int size, j;
char s[1005];
gets(s);
scanf("%d", &size);
j=0;
for(int i=size; i<strlen(s); i+=size) {
for(; j<i; j++) {
printf("%c", s[j]);
}
printf(" ");
}
return 0;
}
您忘记将零分配给 lenofeachword
dereTmine lenght of单词。如果int main()
,您应该返回int值。
相关文章:
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- 用于拆分空格字符串的程序不起作用
- 如何将字符串拆分为一组 3 个字符,它们之间有空格
- C++:按制表符拆分字符串,但包含空格
- 按空格拆分字符串并将列输出到不同的数组中
- Getline() 为第二行并按空格拆分 - C++
- Qt - 在没有正则表达式的情况下,将 QString 拆分为几种类型的空格
- 如何调试此代码以按空格将数组拆分
- C ++拆分字符串并获取空格之后的部分
- c++中包含许多空格的拆分字符串
- 拆分字符串以仅获取数字数组(转义空白和空格)
- 在空格之间拆分字符数组
- 如何拆分具有空格和制表符区分的文件行
- 增强字符串拆分以消除单词中的空格
- 如何将字符串(没有空格)拆分为单独的字符串
- 使用空格分隔符从输入流中拆分字符串
- 在C++中按空格拆分字符串的最快方法
- 按空格难度拆分字符串
- 在空格处拆分字符串并返回C++中的第一个元素
- 拆分带有空格的字符串会导致字符串损坏