gpt4 book ai didi

c++ - 在 C++ 中使用 char* 的特定字符串的子字符串

转载 作者:行者123 更新时间:2023-11-30 03:00:22 25 4
gpt4 key购买 nike

我想写一个返回字符串子串的函数。

f(what string, from which index, how many chars)

我已经做到了,但使用的是字符串类,但我想使用 char*,但我不知道如何使用。您能否更正代码,使其使用 char* 而不是 string*?它在 C++ 中令人困惑。

    #include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
//index - starting at, n- how many chars
string* subString(string s, int index, int n){
string* newString = new string("");
for(int i = index; i < s.length() && i < n + index; i++)
*newString += s.at(i);
return newString;
}


int main()
{ string s1 = "Alice has a cat";
string* output = subString(s1, 2, 4);
cout<<(*output)<<endl;
system("pause");
return 0;
}

最佳答案

#include <iostream>
#include <stdio.h>

using namespace std;

//index - starting at, n- how many chars
char* subString(char *s, int index, int n){
char *res = new char[n + 1];
sprintf(res, "%.*s", n, s + index);
return res;
}


int main()
{
char* s1 = "Alice has a cat";
char* output = subString(s1, 2, 4);
cout << output << endl;
system("pause");
delete[] output;
return 0;
}

关于c++ - 在 C++ 中使用 char* 的特定字符串的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196268/

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