하나의 단어로 문자열의 별도의 배열 그것.C : 나는 문장으로 가득 배열 내 배열이</p> <pre><code>char *arraystr[size]; </code></pre> <p>같은 선언 한 그리고 다른 문장 채우기로 문자열을 분리하는 strtok에 의해 가득
arraystr[0]="In which class are you studying";
arraystr[1]="I am in Eighth Standard";
나는 문장을 단어 단위로 분리하여 배열이나 행렬에 저장하려고합니다. 같은 : 내가 그것을했을하지만 THRE는 분리해서 더 아무것도 없을 때 메신저 충돌로 실행
single_words[0]="In"
single_words[1]="wich"
single_words[2]="class"
//...
, 나는 그만 때 알고 나던 것 같아요.
내 코드 :
void str_array_line(char str[],int *size,char* arraystr[])
{
char *token = strtok(str, "?.!\n");
int i=0;
while(token!=NULL)
{
arraystr[i] = malloc(strlen(token) + 1);
strcpy(arraystr[i], token);
//printf("Array[%d][%s]\n",i, arraystr[i]);
token = strtok(NULL, "?.!\n");
i++;
*size=i;
}
}
void array_single_words(char *arraystr[],char* single_words[])
{
int i=0,j=0;
for(j=0;j<strlen(arraystr[j]);j++)
{
char *token = strtok(arraystr[j], " \t");
while(token!=NULL)
{
single_words[i] = malloc(strlen(token) + 1);;
strcpy(single_words[i], token);
printf("Array[%d][%s]\n",i, single_words[i]);
token = strtok(NULL, " \t");
i++;
}
}
}
int main()
{
char str[]="In which class are you studying?Sandhiya : I am in Eighth Standard. What about you?Saniya : I am in Ninth Standard\nSandhiya : Do you come to school by bus?\nSaniya : Yes. I travel by bus. I have to catch Route No 24 bus.\nSandhiya : It has passed on just 15 minutes before.";
int size=sizeof(str);
int i=0;
char *arraystr[size];
str_array_line(str,&size,arraystr);
printf("Size: %d\n",size);
char *single_words[255];
array_single_words(arraystr,single_words);
}
'strtok'을 사용하여 텍스트를 문장으로 분리하는 것처럼 문장을 단어로 분리 할 수 있습니다. 나는 여기에있는 사람들이 당신을 위해 숙제를 풀지 않을 것이므로 당신이 시도해보고 어떤 문제에 관해서 특정한 질문을 할 것을 제안합니다. – interjay
안녕하세요. SO! 그래서 당신이 시도한 것을 보여 주시고, 각 결과에 대한 결과는 무엇입니까? – Mzf
코드를 추가했습니다. – markids