相关疑难解决方法(0)

如何在C++中对字符串进行标记?

Java有一个方便的拆分方法:

String str = "The quick brown fox";
String[] results = str.split(" ");
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法在C++中执行此操作?

c++ string split tokenize

400
推荐指数
18
解决办法
53万
查看次数

CPP String的字符串标记器?

我想为CPP字符串使用字符串Tokenizer,但我能找到的只是Char*.CPP字符串有什么相似之处吗?

c++ string tokenize

7
推荐指数
1
解决办法
1437
查看次数

C++如何将字符串转换为char*

我需要将字符串转换为char*以便在strtok_s中使用,并且无法弄明白.c_str()转换为const char*,它是不兼容的.

此外,如果有人可以向我解释为什么第二个strtok_s函数(在循环内)是必要的,这将是一个很大的帮助.为什么我需要明确地推进令牌而不是例如它所处的while循环,它隐式地连续地获取文件的每一行.

while( getline(myFile, line) ) { // Only one line anyway. . . is there a better way?
    char * con = line.c_str();
    token = strtok_s( con, "#", &next_token);
    while ((token != NULL))
    {
        printf( " %s\n", token );
        token = strtok_s( NULL, "#", &next_token);
    }
}
Run Code Online (Sandbox Code Playgroud)

相关问题.

c++ casting strtok

4
推荐指数
3
解决办法
7319
查看次数

错误:从'const char*'到'char*'的无效转换

可能重复:
使用带有std :: string的strtok

#include<iostream>
#include <string>
#include <string.h>

using namespace std;

int main()
{
    string s("hello hi here whola");
    string background;
    char *strval;

    char* tok = strtok_r(s.c_str()," ",&strval);
    while(tok !=NULL)
    {
    cout << tok <<"\n";
    if (tok == "&")
        background = tok;
    else
    {
        statements1;
        statement2.. ;
    }
    tok = strtok_r(NULL, " ",&strval);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

new.cpp: In function ‘int main()’:
new.cpp:13:47: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
/usr/include/string.h:359:14: error:   initializing argument 1 of …
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
5997
查看次数

标签 统计

c++ ×4

string ×2

tokenize ×2

casting ×1

split ×1

strtok ×1