簡體   English   中英

以char數組C語言存儲單詞

[英]Store words in char array C language

我有以下代碼:

char *pch;
pch = strtok(texto," ");

while (pch != NULL)
{
  pch = strtok (NULL, " ");
}

我的“ texto”變量具有“這是我的文本示例”之類的內容。

而且我需要將來自pch的每個值存儲在一個字符數組中,但是我真的不知道該怎么做。

我需要類似的東西,數組中的每個值都會有一個字,所以:

“這是我的文字示例”。

Array[0][20] = This;

Array[1][20] = is;

Array[2][20] = my;

Array[3][20] = text;

Array[4][20] = example;

pch中同時具有所有這些話已經分開,但我不知道如何添加到一個字符數組,或者我怎么會宣布他了。

考慮以下示例:

#include <stdio.h>
#include <string.h>

#define MAXSTRLEN 20
#define MAXWORD 6

int main(void)
{
    char arr[MAXWORD][MAXSTRLEN+1] = {0};
    char str[] ="This is my text example";
    char *pch;
    int i = 0;
    pch = strtok (str," ");
    while (pch != NULL && i < MAXWORD)
    {
        strncpy(arr[i++], pch, MAXSTRLEN);
        pch = strtok (NULL, " ");
    }
    return 0;
}

這應該工作。 使用strcpypch復制到字符數組。

char str[] ="This is my text example";
char *pch;
int i = 0;
pch = strtok (str," ");
char a[10][20];
while (pch != NULL)
{   
  strcpy(a[i++], pch);
  pch = strtok (NULL, " ");
}

正如@stackptr所建議的,不要使用strtok ,而應使用strtok_r 有關此的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM