```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#define IRC_SERVER "irc.example.com"
#define IRC_PORT 6667
#define IRC_CHANNEL "#form_responses"
void send_irc_message(int sockfd, const char* message) {
char irc_message[512];
snprintf(irc_message, sizeof(irc_message), "PRIVMSG %s :%s\r\n", IRC_CHANNEL, message);
write(sockfd, irc_message, strlen(irc_message));
}
int main() {
int sockfd;
struct sockaddr_in server_addr;
// Crea il socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
fprintf(stderr, "Errore nella creazione del socket\n");
return 1;
}
// Configura l'indirizzo del server IRC
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(IRC_PORT);
if (inet_pton(AF_INET, IRC_SERVER, &(server_addr.sin_addr)) <= 0) {
fprintf(stderr, "Errore nell'impostazione dell'indirizzo del server\n");
return 1;
}
// Connettiti al server IRC
if (connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
fprintf(stderr, "Errore nella connessione al server IRC\n");
return 1;
}
// Invia il messaggio di inizio al server IRC
send_irc_message(sockfd, "Il form è ora attivo!");
// Inizia il ciclo del form
while (1) {
char response[512];
printf("Inserisci la tua risposta: ");
fgets(response, sizeof(response), stdin);
// Rimuovi il carattere di nuova riga dal input
response[strcspn(response, "\n")] = 0;
// Invia la risposta al server IRC
send_irc_message(sockfd, response);
}
// Chiudi la connessione al server IRC
close(sockfd);
return 0;
}
```