我有一个char数组,我需要转换为int,以便我可以对值进行数学运算。 现在我能得到的最接近的是 - >错误:请求'myData'中的成员'str',它是非类型'char *'
代码:
char *getmyData()
{
static char buff[BUFSIZ];
FILE *fp = popen("php script.php 155", "r");
std::fgets(buff,sizeof(buff),fp);
return buff;
}
void mathFunc(){
char *myData = getmyData();
for (int i = 0; myData[i]; ++i) {
int x;
const char * cstr2 = myData.str().c_str();
cstr2 >> x;
for (int i = 0; i < size; ++i)
cout << x[i] + 10;
}
}
错误:
# g++ -g myDataunfuck.cpp -o myDataunfuck.o -std=gnu++11 -lcurl
myDataunfuck.cpp: In function 'void mathFunc()':
myDataunfuck.cpp:30:31: error: request for member 'str' in 'myData', which is of non-class type 'char*'
myDataunfuck.cpp:31:12: error: invalid operands of types 'const char*' and 'int' to binary 'operator>>'
myDataunfuck.cpp:32:23: error: 'size' was not declared in this scope
myDataunfuck.cpp:33:15: error: invalid types 'int[int]' for array subscript
myDataunfuck.cpp:44:1: error: a function-definition is not allowed here before '{' token
myDataunfuck.cpp:47:1: error: expected '}' at end of input
答案 0 :(得分:2)
您可以执行以下操作: -
const char * cstr2 = myData;
答案 1 :(得分:0)
您的myData
变量是原始char*
类型。它没有.
可访问的任何方法。