将 *char 转换为 int 时出现 C++ 错误

标签 c++ arrays pointers data-conversion

我有一个 char 数组,我需要将其转换为 int,以便我可以对这些值进行数学运算。 现在我能得到的最接近的是 -> error: request for member 'str' in 'myData', which is of non-class type '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

complete code

最佳答案

您可以简单地执行以下操作:-

const char * cstr2 = myData;

关于将 *char 转换为 int 时出现 C++ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26975267/

相关文章:

c++ - 这实际上是做什么的? - 疯狂的 C++ 函数

c++ - 事件目录实现

php - PHP 的 foreach 幕后发生了什么?

c++ - 不使用指针遍历 C 风格的数组

c - 错误 : undefined reference to math functions

c++ - 从取消引用的指针返回原始指针

c++ - std::byte 可以替换 std::aligned_storage 吗?

c++ - linux下如何删除非空目录

javascript - 将数组转换为对象?

java - 字符串作为 ArrayList 并在另一个类中使用