|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Torino, PoliTO
Messaggi: 2227
|
[C]Problema strcpy()
Ciao a tutti,
avrei un problemino con questo codice... Questo spezzone fa parte di un programma un po' più complicato, per questo motivo ci sono altre definizioni non utilizzate. Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#define MAX_ADDR 16
#define MAX_LEN 101
#define MAX_DATA 11
#define MAX_ORA 9
typedef struct datiIndirizzi
{
char ip[MAX_ADDR];
char name[MAX_LEN];
} indirizzi;
main()
{
FILE *fp;
int indice = 0;
char indirizzo[MAX_ADDR];
char nome[MAX_LEN];
indirizzi *ip_addresses;
if((fp=fopen("ip.txt", "r"))==NULL)
{
printf("\nErrore apertura file 'ip.txt'.\n");
exit(EXIT_FAILURE);
}
while(fscanf(fp, "%s %s", &indirizzo, &nome)!=EOF)
{
strcpy(ip_addresses[indice].ip, indirizzo);
strcpy(ip_addresses[indice].name, nome);
printf("\nIndirizzo: %s, Nome: %s", ip_addresses[indice].ip, ip_addresses[indice].name);
indice++;
}
fclose(fp);
return 0;
}
Temo si tratti di segmentation fault. In generale questo problema dovrebbe presentarsi quando si cerca di fare una strcpy su un puntatore non inizializzato, però in questo caso non saprei. C'è qualcuno che può darmi una mano? Grazie!
__________________
|COD 4 MW: Livello Bonus a Difficoltà Veterano!!! |Vendo visore multimediale 3D Epson Moverio BT-100 Ultima modifica di Devil_Jin : 10-02-2008 alle 12:56. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dov'è allocata questa struttura ? A cosa punta quel puntatore ?
indirizzi *ip_addresses; |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2006
Città: Torino, PoliTO
Messaggi: 2227
|
E' ufficiale, oggi devo essere completamente rincitrullito.
Sarà anche che ho dormito poco... Non ho allocato ip_addresses... Mancava questa riga: Codice:
ip_addresses = (indirizzi *)malloc(sizeof(indirizzi)); Ora è tutto risolto, scusa il disturbo, cionci. E grazie!
__________________
|COD 4 MW: Livello Bonus a Difficoltà Veterano!!! |Vendo visore multimediale 3D Epson Moverio BT-100 Ultima modifica di Devil_Jin : 10-02-2008 alle 14:46. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:37.



















