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
491
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
Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot1293917Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans143371- 193315
- 793257
Persut huutaa taas: "kato! muslimi!"
Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe573214- 292885
- 472697
- 542617
- 682421
- 192357