【发布时间】:2018-04-07 20:14:12
【问题描述】:
我不是 C 方面的专家,事实上,我讨厌它,但我必须为我的大学用这种语言来做这个项目。好吧,当我去测试我的代码时,我对这个错误感到惊讶,“分段错误”。我正在寻找互联网并阅读有同样问题的人,但我无法解决。
所以,这是我的代码:
typedef struct evento{
char* tipo; //baja, alta o evento
char* tema; //tema al que pertenece
char* valor;
int puerto;
struct sockaddr_in *dir;
}evento;
int generar_evento(const char *tema, const char *valor) {
//Socket()
int sock;
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0){
perror("Error en socket() en Editor");
exit(1);
}
//Preparar mensaje
evento evt;
strcpy(evt.tipo, "evento");
strcpy(evt.tema, tema);
strcpy(evt.valor, valor);
代码如下但并不重要,因为我正在测试它并且错误在:
evento evt;
strcpy(evt.tipo, "evento");
strcpy(evt.tema, tema);
strcpy(evt.valor, valor);
我需要将 generar_evento 的参数 (const char *tema, const char *valor) 复制到 struct evento 中,但是当我尝试这样做时,出现了错误。
谢谢!
【问题讨论】:
-
evt.tema = strdup(tema)
标签: c