c++利用sscanf分割字符

  • Post category:other

在C++中,可以使用sscanf函数来分割字符。sscanf函数可以从一个字符串中读取格式化的输入,并将其存储到指定的变量中。以下是关于如何使用sscanf函数分割字符的完整攻略:

使用sscanf分割字符

sscanf函数的语法如下:

int sscanf(const char* str, const char* format, ...);

其中,str参数是要读取的字符串,format参数是格式化字符串,...表示可变参数列表,用于存储读取的值。

例如,如果要从字符串"1,2,3"中分割三个整数,可以使用以下代码:

#include <cstdio>

int main() {
  char str[] = "1,2,3";
  int a, b, c;
  sscanf(str, "%d,%d,%d", &a, &b, &c);
  printf("%d %d %d\n", a, b, c);
  return 0;
}

在上面的代码中,sscanf函数使用%d,%d,%d格式化字符串从字符串"1,2,3"中读取三个整数,并将它们存储到变量abc中。然后,使用printf函数输出这三个整数。

输出结果为:

1 2 3

使用sscanf分割字符串

除了分割整数,sscanf函数还可以用于分割字符串。例如,如果要从字符串"hello world"中分割出两个字符串,可以使用以下代码:

#include <cstdio>

int main() {
  char str[] = "hello world";
  char s1[10], s2[10];
  sscanf(str, "%s %s", s1, s2);
  printf("%s %s\n", s1, s2);
  return 0;
}

在上面的代码中,sscanf函数使用%s %s格式化字符串从字符串"hello world"中读取两个字符串,并将它们存储到变量s1s2中。然后,使用printf函数输出这两个字符串。

输出结果为:

hello world

以上是关于如何使用sscanf函数分割字符的完整攻略。可以根据实际需求选择适合自己的方法。