[英]How do I use sscanf to split a string on a delimiter?
我只想用sscanf
從7b-7a
得到7b
我試過:
char str[32] = "7b-7a";
char out[32];
sscanf(str, "%s-%s", out);
std::cout << out;
Output 是: 7b-7a
我只需要 output 7b
您可以像這樣嘗試 sscanf:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
char str[32] = "7b-7a";
char out[32];
sscanf(str, "%[a-z0-9]-%*s",out);
std::cout << out;
return 0;
}
在我看來,更簡單的方法是使用流和 getline,就像這樣。
https://godbolt.org/z/4TTKz5KPx
#include<iostream>
#include<sstream>
int main(){
std::string in{"7b-7a"};
std::stringstream ss{in};
std::string out;
std::getline(ss, out, '-');
std::cout << out << "\n";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.