c - 错误 "' strcpy' 使指针来自整数而不进行强制转换”

标签 c compiler-errors

struct PhaseShiftPin {
    int _PSPpin_index;      //PSP = Phase Shift Pin
    int _PSPvalue;
    char _PSPname[512];
};
struct PhaseShiftPin *_PhaseShiftPin[500000];
int p3int = 0;
strcpy ( _PhaseShiftPin[i]->_PSPvalue, p3int );

上面的代码只是我完整代码的一部分。 当我编译完整程序时发生错误strcpy'使指针从整数而不进行强制转换 位于行

strcpy ( _PhaseShiftPin[i]->_PSPvalue, p3int );

我引用了这里的帖子makes pointer from integer without a cast with strcpy在我尝试使用 strncpy 并按照帖子中显示的方法进行操作后,我仍然编译失败。希望您能指导我解决我的问题。谢谢。

最佳答案

strcpy 不适合解决此问题。它需要两个参数。第一个是指向 char 的指针,第二个是指向 const char 的指针。然后它将第二个指针指向的字符串复制到第一个指针指向的内存中。

就您而言,您不是在复制字符串,而是在复制 int。你的最后一行应该是:

_PhaseShiftPin[i]->_PSPvalue = p3int;

但是,C99 标准保留以下划线 ('_') 开头的标识符,后跟大写字母或另一个下划线以供实现。因此,您不得以这种方式命名标识符。

关于c - 错误 "' strcpy' 使指针来自整数而不进行强制转换”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17803295/

相关文章:

c++ - 模板函数给出 "no matching function for call"错误

c - 错误 : no previous prototype for 'check'

c++ - OpenGL 可以做到这一点吗?

c - C中的'\0'和printf()

php - “PHP Fatal error: Constant expression contains invalid operations”,何时初始化静态内联?

ios - 指向接口(interface) id 的指针的算术,对于这个架构和平台来说,这不是一个恒定的大小

java - 错误: illegal start of type

compiler-errors - JAGS编译错误

c - 为什么这个 C 程序符合并运行

c - 从文件读入 *argv[] 数组