gpt4 book ai didi

c++ - sscanf() 以换行符作为分隔符

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:15 24 4
gpt4 key购买 nike

在下面的代码中,scanf() 将在遇到任何空格时拆分字符串:

char str[] = "Hello I'm Tom";

char token1[256];
char token2[256];
char token3[256];

sscanf(str, "%s%s%s", token1, token2, token3);

我可以让它只在遇到换行符 (\n) 时拆分字符串吗?

最佳答案

您可以使用 istringstream::getline

#include <iostream>
#include <sstream>

using namespace std;
int main()
{
std::istringstream input("Hello I'm Tom\nHello I'm Jim\nHello I'm Tim");
char token1[256];
char token2[256];
char token3[256];
input.getline(token1, 256);
input.getline(token2, 256);
input.getline(token3, 256);
cout << token1 << endl;
cout << token2 << endl;
cout << token3 << endl;
return 0;
}

关于c++ - sscanf() 以换行符作为分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com