Προς το περιεχόμενο

C-- χαζη απορια


spilia

Προτεινόμενες αναρτήσεις

Δημοσ.

3. Να φτιαχτεί ένα πρόγραμμα σε C που:

α) Θα δημιουργεί το αρχείο input.txt

β) Αν υπάρχει ήδη το αρχείο αυτό, τότε θα διαγράφει τα περιεχόμενά του

γ) Θα ζητάει το ονοματεπώνυμο του χρήστη και ακολούθως θα το γράφει μέσα στο αρχείο

με ΑΝΤΙΣΤΡΟΦΗ σειρά

 

 

πρεπει να κανω αυτο

 

εχω φτιαξει τον παρακατω κωδικα αλλα κατι κανω λαθος.

 

>#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>



main(){
int fd1,n,n1,fd2;
char onoma,eponimo;

printf("dose to onoma soy\n");
scanf("%s",&onoma);


printf("dose to eponimo soy\n");
scanf("%s",&eponimo);

fd1 = open ("input.txt",O_WRONLY | O_CREAT | O_TRUNC , 0644);
if(fd1 == -1){perror("open");
exit(1);}


n=write(fd1,&onoma,strlen(&onoma));
close(fd1);

fd2 = open ("input.txt",O_WRONLY | O_APPEND , 0644);
if(fd1 == -1){perror("open");
exit(1);}
n1=write(fd2,&eponimo,strlen(&eponimo));





}

Δημοσ.

>#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>

main(){
int fd1,n,n1,fd2;
char onoma,eponimo;		// <--------- char onoma[20+1], eponimo[35+1];

printf("dose to onoma soy\n");
scanf("%s",&onoma);		// <--------- fflush(stdin); scanf("%s", onoma);


printf("dose to eponimo soy\n");
scanf("%s",&eponimo);		// <--------- fflush(stdin); scanf("%s", eponimo);


// ...

}

Έχεις λάθος τα strings onoma ki eponimo (σου έβαλα σχετικά σχόλια). Επίσης, αν δεν είναι προϋπόθεση της άσκησης, αντί για open() και write() μπορείς να χρησιμοποιήσεις τις απλές: fopen() και fputs() που είναι πολύ πιο απλές (δεν κοίταξα καθόλου τον κώδικα σου από το διάβασμα του eponimo και κάτω, απλά μου έκανε εντύπωση που χρησιμοποιείς open() και write() για τη διαχείριση του αρχείου ;) )

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...