正在尝试将字符串转换为字符指针
Trying to Convert String to Character Pointer?
我一直在尝试做以下简单的事情:
1) 从stdin接收输入字符串。
2) 将它转换为一个字符指针,这样我就可以传递给一个制表/回文查找函数。
我对第2步的后半部分很有信心,但这是我无法破解的类型协议。以下是我的主要问题。帕林函数的原型是int palin(char *str)
。
int main()
{
string input;
cin >> input;
char seq[] = input.c_str(); //Error here, invalid initialization?
int len = strlen(seq);
int result = palin(seq);
cout << result;
getchar();
return 0;
}
有什么想法吗?c_str()
转换也出现了一个问题,因为它需要一个常量指针char,但我的char指针会改变。
如果确实需要可变,则需要将字符串复制到传递给palin的可变缓冲区中,例如:
int main()
{
string input;
cin >> input;
char seq[input.length() + 1];
memcpy(seq, input.c_str(), sizeof seq);
int result = palin(seq);
cout << result;
}
您可以尝试strdup
char *c = strdup(str.c_str());
// Do stuff with c
// Make sure to free c when you are done.
free(c)
相关文章:
- HEX值到wchar_t字符(UTF-8)的转换
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 转换特殊字符(UTF-8)
- 将转换字符键入 int 以用作向量C++的索引
- 将字符随机转换为大写的函数
- 尝试将字符串/字符转换为整数会产生意外结果
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 转换字符时Arduino DUE 和 Arduino UNO 之间的区别
- 如何在C++中正确重载运算符转换字符*?
- 如何转换数据结构以在 c++ 中转换字符*
- 不兼容的转换字符
- 将转换字符数组[16]键入为int 128位
- 在c++中转换字符编码
- 使用递归转换字符
- 如何在Objective-C/C/C++中转换字符和字节的位置
- C++到Pep/8汇编语言的转换——字符数组
- 转换字符>十六进制