Help with C
1 ) θέλω να αντιγράψω τα περιεχόμενα ενός αρχείου sdp.txt σε ένα άλλο αρχείο με όνομα sdp_voip.txt
2 ) στο sdp_voip.txt θέλω να προσθέσω στην αρχή του μια γραμμή που θα περιέχει την IP_A
δειτε την συνάρτηση sdp_voip
Spoiler: Highlight to view
void sdp_voip (void)
{
char *pres;
char *search = " ";
char IP_A[16],IP_B[16],line[256];
int i;
FILE *fp1,*fp2,*fp;
fp1=fopen("sdp_1.txt","r");
fp2=fopen("sdp_6.txt","r");
fp=fopen("voip.txt","w");
for (i=0;i<2;i++)
{
if (i==0)
fp=fp1;
else
fp=fp2;
while (fgets (line,256,fp))
{
fputs (line,fp);
char type;
char *pos;
pos=strchr(line,'=');
if (pos==NULL) continue;
type=line[pos-line-1];
switch (type)
{
case 'o':
pres=strtok(pos+1,search);
pres=strtok(NULL,search);
pres=strtok(NULL,search);
pres=strtok(NULL,search);
pres=strtok(NULL,search);
pres=strtok(NULL,search);
if (i==0)
strcpy (IP_A,pres);
else
strcpy (IP_B,pres);
break;
}
}
}
}
foutrelis — Τρι, 29/12/2009 - 03:35
Κατάσταση:
Εγγραφή: Δεκ 2008
Καταχωρήσεις: 252
Την αντιγραφή μπορείς να την υλοποιήσεις με τις συναρτήσεις fopen (άνοιγμα των δύο αρχείων, το αρχικό με mode "r" και το τελικό με mode "w"), fgetc/fputc (αντιγραφή byte προς byte) ή fgets/fputs (αντιγραφή συνόλων από bytes) με χρήση ενός buffer μερικών KB (τέτοιου είδους αντιγραφή παρατηρώ στη συνάρτηση sdp_voip).
Για το (2), το IP_A βλέπω πως είναι ένας πίνακας με 16 στοιχεία τύπου char. Μια απλή λύση είναι αφού ανοίξεις το sdp_voip.txt για εγγραφή και πριν προχωρήσεις στην παραπάνω αντιγραφή, να γράψεις το IP_A στο νέο αυτό αρχείο, ακολουθούμενο από αλλαγή γραμμής ('\n').
Ελπίζω να βοήθησα.
DEATH — Σαβ, 02/01/2010 - 02:49
Κατάσταση:
Εγγραφή: Ιαν 2009
Καταχωρήσεις: 2219
για το πρώτο ερώτημα βρήκα λύση , τώρα μένει το 2 ερώτημα για να δούμε
ty foutrelis
Καλύτερα η ουτοπία παρα η μουγκoπία