• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 16, 2025, 16:58:42 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 16, 2025, 16:58:42 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[Today at 16:56:56]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by nmpampal
[Today at 16:30:35]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[Today at 15:55:08]

[Αρχές Οικονομίας] Να επι...
by _Trob
[Today at 13:28:21]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[Today at 12:13:45]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[Today at 12:01:53]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[Today at 10:22:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:56:37]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 15, 2025, 20:08:49 pm]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]

[Δυναμική Συμπεριφορά ΣΗΕ...
by soko_freta
[June 13, 2025, 01:05:36 am]
Στατιστικά
Members
Total Members: 9959
Latest: valco08
Stats
Total Posts: 1426674
Total Topics: 31711
Online Today: 201
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 49
Guests: 112
Total: 161
Nikos_313
Apostolos adam
aurora
bilbo
marf10
DJ Stefzia
valentini
mdimitrig
elias_farhood
chriskazakos
mavrhs
athichatz
lelenia
dimitrisblioumis
Kv
tasos gourd
evitzv
Ioannakoliou
aachmet
ArsenD
babis.o.sougias
msandr
Ted Kaczynski
nikosmonov
Kwst@ss_
meni
Nicotre
thegreekbaron
difis
Filpan10
nmpampal
evangeliaap
Stathiss
xeniam
dimimpou
jimalexoud
Haralampos
folas
kvas
Notac
Polychronia K
Farmakis Aggelos
gbes
petrchat
theodoridoueu
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Για οποιοδήποτε πρόβλημα με register/login, στείλτε email στο contact@thmmy.gr.
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > C / C++ / C# (Moderators: chatzikys, PolarBear) > C++ διάβασμα από .txt
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: C++ διάβασμα από .txt  (Read 904 times)
Niobe
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1853



View Profile
C++ διάβασμα από .txt
« on: October 10, 2016, 01:40:34 am »

Yo, έχω τον παρακάτω κώδικα. Το αρχειο .txt περιέχει γραμμές με στοιχεία integers μεταβλητού μήκους (η μια γραμμη εχει 8, η επόμενη 10, κ.ο.κ), οπότε θέλω να περνάω γραμμή-γραμμή στο vector και στο τέλος να βάζω ένα flag (pref. flag = -1 γιατί όλοι οι ints μου είναι >=0), για να ξέρω πόσα στοιχεία έχει η κάθε γραμμή και που αρχίζει η επόμενη και να τα χρησιμοποιήσω στον κώδικα.
Γίνεται;

Νομίζω η c++ διαβάζει 2 χαρακτήρες /r/n στο τέλος της γραμμής. Αν κάποιος έχει μια ιδέα ας τη ρίξει. Θένκ

Code:
std::vector<int> Address;

ifstream infile("C:\\...\\aaaa.txt");

if (infile.is_open()){
cout << "File Opened successfully!!! Reading from file into array" << endl;
// Check if exists and then open the file.
    if (inputFile.good()) {
        // Push items into a vector
        int current_number = 0;
        while (infile >> current_number){
                Address.push_back(current_number);
        }
        Address.shrink_to_fit();
        }
    }
else {
cout << "File not opened" << endl;
system("pause");
return 0;
}
« Last Edit: October 10, 2016, 01:44:30 am by Niobe » Logged

zisis00
Καταξιωμένος/Καταξιωμένη
***
Posts: 176


View Profile
Re: C++ διάβασμα από .txt
« Reply #1 on: October 10, 2016, 02:13:51 am »

Το \r\n είναι χαρακτήρες στα Windows που δείχνουν το τέλος της γραμμής. Δεν έχει σχέση με τη C++. Στο Unix είναι απλά \n.

Αφου δεν ξέρεις πόσα elements έχει η κάθε γραμμή θα σου πρότεινα να αφήσεις τον operator >> για να διαβάσεις από το αρχείο.

Δοκίμασε να διαβάζεις κάθε γραμμή σε ένα string (με την getline πχ) και μετά να ψάχνεις για whitespaces ώστε να ξεχωρίζεις
πόσα elements υπάρχουν στην γραμμή. Και για το tokenizing υπάρχουν έτοιμες συναρτήσεις στην C++ (πχ istreamstring). Κάνε λίγο googling για ποιά σε βολεύει.

Έτσι γλυτώνεις και τη χρήση του flag. Το οποίο, κατ'εμε, βάζει πολυπλοκότητα χωρις να χρειάζεται.

Αν δεν απάντησα στην ερώτηση σου προσπάθησε να δώσεις λίγο πιο αναλυτικά λεπτομέριες για το τι ακριβώς θέλεις να κάνεις.
Logged
Niobe
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1853



View Profile
Re: C++ διάβασμα από .txt
« Reply #2 on: October 10, 2016, 02:42:33 am »

Quote from: zisis00 on October 10, 2016, 02:13:51 am

Την ειδα τη λύση που λες και ξέρω πως το flag απλά θα προσθέτει "βάρος". Θα το χρησιμοποιούσα γιατί στο πρόγραμμά μου θέλω να περάσω τον address σε συνάρτηση και χρησιμοποιώ και τον αριθμό των στοιχείων ανα σειρά και τα στοιχεία καθ'αυτά οπότε είναι σχετικά απλός ο έλεγχος.

Quote from: zisis00 on October 10, 2016, 02:13:51 am
googling
και αγιος ο θεος
Logged

zisis00
Καταξιωμένος/Καταξιωμένη
***
Posts: 176


View Profile
Re: C++ διάβασμα από .txt
« Reply #3 on: October 10, 2016, 02:57:17 am »

Δεν εννοώ ότι το flag θα σου μειωσει τις επιδοσεις στο προγραμμα σου. Ούτος η άλλως αυτό που θες να κάνεις είναι αρκετά απλό. Απλα η λύση με το negative flag δεν είναι τόσο... κομψή!

Αφου εχεις διαβάσει τα δεδομένα μιας γραμμής σε ενα buffer, μπορείς εύκολα να καταλάβεις ποσους integers έχεις απλά μετρώντας τα κενά (whitespaces) που υπάρχουν στην γραμμη που μολις διαβασες.
Logged
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...