假设我在char * m中存储了以下字符串;

char *m = "K: someword\r\n";


m将由用户输入,因此用户将在控制台中编写:

K: someword\r\n


someword的长度可以不同,而K:\ r \ n始终相同。
现在我的问题是,在阅读此输入以从中提取单词并将其保存到新的char *变量之后,这是最好的方法?

最佳答案

像这样使用sscanf()

#include <stdio.h>

int main (void)
{
  char buffer [50], k, return_car, new_line;

  int n = sscanf ("K: someword\r\n", "%c: %s%c%c", &k, buffer, &return_car, &new_line);
  printf ("The word is \"%s\". sscanf() read %d items.\n", buffer, n);

  return 0;
}


输出:


  这个词是“ someword”。 sscanf()读取4个项目

10-01 20:56