freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
 

Πρόβλημα με διάβασμα αρχείου


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα]      Bookmarks Tags: διάβασμα Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
MamRa


Μέλος από: 06 Δεκ 2009
Μηνύματα: 29

View users profile Send email to user
ΜήνυμαΣτις: 08 Ιαν 2012 16:35    Θέμα: Πρόβλημα με διάβασμα αρχείου Απάντηση με παράθεση  Mark this post and the followings unread

Καλησπέρα σε όλους
προσπαθώ να διαβάσω ένα αρχείο και χω πρόβλημα στους δεκαδικους αριθμούς μαλλον κάτι παίζει στη δήλωση
θέλω να διαβάσω την παρακάτω γραμμή προσπερνώντας τις 22 πρώτες γραμμές.

1M -1-2-3-3-1-1-2-3-2 2 2-2 5 0-3 -2-1-2-1 3 0 0 00 0 0 0000 0 0 62 0 0 0 0 0 0 3 1 0.30 1.5

το αρχείο εχει πολλές γραμμές αυτη είναι η πρώτη όπως βλέπετε οι δυο τελευταιες γραμμες είναι δεκαδικοί.
ο κωδικας που έγραψα ειναι ο εξης:

#include <stdio.h>
#define COLS 44 /*dilwsi pinaka*/
#define ROWS 500

int main(void)
{
int i, max, maxIndex, resCurrentIndex, tmp[COLS];/* dilwsi metavlitvn*/
char res[ROWS+1] = {0};
char t[1]; /* tmp */
double t1[2];
FILE *fp,*ifp, *ofp;
fp = fopen(filename, mode);/* anoigma kai diavasma tou arxeiou*/
if (fp == NULL) {
fprintf(stderr, "de mporei na anoixi to arxeio data.txt!\n");
exit(1);

while (fscanf(fp, "%d %s %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %f %f ",
tmp,t,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,tmp,&tmp[0],&tmp[1], &tmp[2], &tmp[3], &tmp[4], &tmp[5], &tmp[6], &tmp[7], &tmp[8], &tmp[9], &tmp[10], &tmp[11], &tmp[12], &tmp[13], &tmp[14] ,&tmp[15], &tmp[16], &tmp[17], &tmp[18], &tmp[19], &t1[20], &t1[21]) == COLS)

{
max = tmp[0];
maxIndex =0;
for (i=1; i< COLS-22; i++)
{
if (tmp[i] > max)/*evresh megaliterou arithmou kai h thesi tou panw sth grammi*/
{
max = tmp[i];
maxIndex = i;
}

κάτι γίνεται στην fscanf στις δυο τελευταίες μεταβλητές &t1[20], &t1[21] όπου είναι οι θέσεις απο τις δύο στήλες που είναι δεκαδικοι.

όταν τους αλλάζω στο αρχείο και τους κάνω ακέραιους και τουσ δηλώνω σαν int δουλεύουν όλα μια χαρα.Δε ξερω τι άλλο να κάνω!!!!!
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 08 Ιαν 2012 22:23    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

μήπως θέλεις να πεις fscanf(fp,...,&tmp[19],&t1[0], &t1[1]) ?
MamRa


Μέλος από: 06 Δεκ 2009
Μηνύματα: 29

View users profile Send email to user
ΜήνυμαΣτις: 08 Ιαν 2012 23:07    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

dva_dev ανέφερε:
μήπως θέλεις να πεις fscanf(fp,...,&tmp[19],&t1[0], &t1[1]) ?

το δοκίμασα τιποτα καπως αλλιως πρεπει να γίνει.....
GReaper


Μέλος από: 11 Δεκ 2010
Μηνύματα: 48

View users profile Visit posters website
ΜήνυμαΣτις: 09 Ιαν 2012 10:53    Θέμα: Re: Πρόβλημα με διάβασμα αρχείου Απάντηση με παράθεση  Mark this post and the followings unread

MamRa ανέφερε:
όταν τους αλλάζω στο αρχείο και τους κάνω ακέραιους και τουσ δηλώνω σαν int δουλεύουν όλα μια χαρα.


Όταν λες "%f" στην scanf, περιμένει float. Κάντο "%lf"
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 24 Απρ 2014 03:48 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


κακό μάτι
Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos