【问题标题】:can you make string to array of chars [duplicate]你能把字符串变成字符数组吗[重复]
【发布时间】:2013-10-05 15:43:55
【问题描述】:

嘿,我目前正在学习 c 语言。是否有可能将 char* 类型变量(其中包含一些由空格分隔的单词)转换为字符串数组(在 c 中为 char*[]),这样原始变量上的每个单词将在新数组中的不同索引中?

【问题讨论】:

标签: c arrays string char


【解决方案1】:

C 库函数strtok():

char * strtok (char * str, const char * 分隔符);

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

int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ");
  while (pch != NULL)
  {
     printf ("%s\n",pch);
     pch = strtok (NULL, " ");
  }

  return 0;
}

【讨论】:

  • 但我认为 c 语言中没有字符串类型?...在​​第一个示例中,您可以编辑它以将标记放入字符数组中吗?
  • 是的,它根据您提供给函数的分隔符划分 char[]。欲了解更多信息,请访问链接
  • 您将数组拆分为标记。我要求将 (char*) 类型溢出到数组。
  • @UmerFarooq:“手动方法”没有任何意义,因为它将str 的每个字符复制到tokens。 OP 要求将char *str 拆分为char *array[numTokens] 左右。
  • @harpun 是的,起初我认为这是 C++ 问题,所以我使用字符串代替 char[],后来删除了它。感谢您指出这一点:)
猜你喜欢
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 2019-07-18
  • 2021-01-31
相关资源
最近更新 更多