Olen tekemässä erästä koulutyötä ja ongelmani on seuraava:
1. En saa osaa liittää txt tiedostosta luettuja arvoja ohjelmaani oikealla tavalla.
2. Saan kuitenkin normaalisti liitettyä lukuja ohjelmaani
Ohessa koodia:
main()
{
bool ht_inc;
int info ;
int choice;
struct node *root = (struct node *)malloc(sizeof(struct node));
root = NULL;
FILE* fp;
char buffer[100];
int count = 0;
TÄMÄ EI TOIMI
printf("Opening file..\n");
fp = fopen("my.txt", "r");
while (fgets(buffer, 100, fp) != NULL) // MITEN SAAN BUFFERIIN LUETUT TIEDOT SIIRRETTYÄ INFOON ??
{ // JA MIELELLÄÄN JOS JOKU SELITTÄÄ TUON IHAN KOODILLA
if( search(root,info) == NULL )
root = insert(info, root, &ht_inc);
else
printf("Duplicate value ignored\n");
count ;
}
fclose(fp);
TÄMÄ KYLLÄ TOIMII
printf("Enter the value to be inserted : ");
scanf("%d", &info);
if( search(root,info) == NULL )
root = insert(info, root, &ht_inc);
else
printf("Duplicate value ignored\n");
APUA KAIVATAAN TIEDOSTON KÄSITTELYYN
3
498
Vastaukset
- Vinkki-Petteri
Vinkki1:
buffer on char-taulukko ja info on int, eli jotain tarttis tehdä.
Vinkki2:
fscanf tai sscanf auttanee (en nyt muista tarkkaan). - Vinkki-Petteri
Pitipä ihan kokeilla eli näin helposti onnistuu fscanf-jutulla integerin luku:
int main ()
{
int num;
FILE * filep;
filep = fopen ("myfile.txt","r");
while (fscanf( filep, "%d", &num) == 1) {
printf ("%d\n", num);
}
fclose (filep);
return 0;
}
Ehto on == 1, koska fscanf palauttaa onnistuneiden skannauksien lukumäärän (jolloin tiedosto voi sisältää ylimääräistä 'roskaa' vaikkapa tekstiä).- Copettelija
Mun pitää kokeilla että miten tuo toimii ns. käytännössä :)
Mut kyselen lisää jos en saa toimimaan..kiitos kuitenkin neuvostasi
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Suomen kansa haluaa Antti Lindtmanista pääministerin
Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http2014029Vain 21% kannattaa Lindtmania pääministeriksi
se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?1112563Miten löydän sinut
Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit382255Yöllinen autolla kaahari Heinolan seudulla
Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?801390Vaikea tilanne
Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te861268- 481139
- 751017
- 59863
Emme koskaan keskustelleet kasvotusten syistä välirikollemme
Enkä voisi kertoa perimmäistä rehellistä syytä. Kerroin sinulle pintapuolisen ”paketin” ja otin tavallaan omalle vastuu57844S24 Lieksa miksi on paikallinen entinen Kansallinen Kokoomus valtuutettu sali niin kallis?
Vailla alennuksia? gogo express joensuu kertakäynti 10 euroa avoinna 5-24. Miksi pitää Lieksassa tukea paikallista yritt72797