salve a tutti...ho questo problema dato il seguente codice dovrei implementare le funzioni sotto riportate
Funzione crea_file questa funzione mi crea un file e con all'interno delle parole e successivamente le confronta con l'array confronto e vede se le parole contenute in confronto sono il prefisso delle parole inserite dall'utente, copiando tutto in un nuovo file.
il mio problema sorge nel momento in cui devo copiare la parola che contiene il prefisso sole mare ago o luna in una struttura insieme al prefisso stesso ad esempio...
l'utente inserisce mareggiata lunatico... l'output dovrebbe essere
lista
string1=mare
string2=mareggiata
dim_str1=4
dim_str2=10
lista
string1=luna
string2=lunatico
dim_str1=4
dim_str2=8
tutto copiato in un file...io pur troppo questo passaggio non riesco a farlo...potreste aiutarmi...grazie mille
---------- Post added at 18:29 ---------- Previous post was at 17:28 ----------
in pratica dovrei associare all'interno di un ciclo le parole trovate con gli elementi della lista
pseudocodice: d.string1=elemento trovato...
conoscete qualche funzione utile???? grazie
Codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define NUM 4
typedef struct data *next;
typedef struct data{
char string1[20];
char string2[20];
int dim_string1;
int dim_string2;
next successivo;
}data;
void crea_file(char *);
void crea_lista(char *[] ,char[]);
void cambio_testa_coda(data **);
void scrivi_file(data*,FILE *);
void scrivi_file(data *,FILE *); /*RICORSIVA */
int main(){
char *parole[NUM]={"agosto","lunare","lunatico","agognato"};
char v[20];
data *head;
FILE *in, *out;
printf("Inserire il nome del file da creare: ");
scanf("%s",v);
crea_file(v);
crea_lista(parole,in,&head);
system("PAUSE");
return 0;
}
Funzione crea_file questa funzione mi crea un file e con all'interno delle parole e successivamente le confronta con l'array confronto e vede se le parole contenute in confronto sono il prefisso delle parole inserite dall'utente, copiando tutto in un nuovo file.
Codice:
void crea_file(char *v){
struct data d={"",""};
FILE *fp,*out,*fp2;
int fine=0;
int l=0;
int i=0;
int j=0;
int cont=0;
char buff[20];
char parole[30];
char *confronto[NUM]={"ago","luna","sole","mare"};
if((fp=fopen(v,"w"))==NULL){ printf("ERRORE\n"); }
else
while(!fine){
printf("Inserisci parola:");
scanf("%s",parole);
fprintf(fp,"%s\n",parole);
cont++;
printf("Finito? (Si=1, No=0) ");
scanf("%d",&fine);
}
fclose(fp);
fp=fopen(v,"r");
out=fopen("copia.txt","w");
for(i=0;i<cont;i++){
fscanf(fp,"%s",buff);
for(j=0;j<4;j++){
l=strlen(confronto[j]);
if(!strncmp(buff,confronto[j],l)){
fprintf(out,"%s\n",buff);
printf("\ntrovata la parola: %s in: %s",confronto[j],buff);
}
}
}
printf("\n");
printf("\n...copia in corso...\n");
fclose(out);
fclose(fp);
il mio problema sorge nel momento in cui devo copiare la parola che contiene il prefisso sole mare ago o luna in una struttura insieme al prefisso stesso ad esempio...
l'utente inserisce mareggiata lunatico... l'output dovrebbe essere
lista
string1=mare
string2=mareggiata
dim_str1=4
dim_str2=10
lista
string1=luna
string2=lunatico
dim_str1=4
dim_str2=8
tutto copiato in un file...io pur troppo questo passaggio non riesco a farlo...potreste aiutarmi...grazie mille
---------- Post added at 18:29 ---------- Previous post was at 17:28 ----------
in pratica dovrei associare all'interno di un ciclo le parole trovate con gli elementi della lista
pseudocodice: d.string1=elemento trovato...
conoscete qualche funzione utile???? grazie