• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 04, 2025, 15:06:59 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.
August 04, 2025, 15:06:59 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ρυθμίσεις Θεμάτων της Ανώ...
by Katarameno
[Today at 13:56:35]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 13:26:08]

[Σχεδίαση Συστημάτων VLSI...
by cealexop
[Today at 00:58:35]

[Τομέας Ενέργειας] Μαθήμα...
by chatzikys
[August 03, 2025, 13:56:19 pm]

Ρύθμιση θερμικού για μοτέ...
by chatzikys
[August 02, 2025, 21:29:19 pm]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[August 02, 2025, 17:30:47 pm]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[August 02, 2025, 17:06:37 pm]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[August 02, 2025, 13:25:49 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[August 02, 2025, 09:51:26 am]

Οι μπράβοι του πρύτανη
by Διάλεξις
[August 02, 2025, 01:30:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[August 02, 2025, 01:04:15 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[August 02, 2025, 00:59:05 am]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427656
Total Topics: 31739
Online Today: 125
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 23
Guests: 97
Total: 120
Bigie_Cheese
stavros0201
Saint_GR
pipitsenko
geo66
Διάλεξις
George_RT
bsp
chaniotism
chris123
vajulin
micelethe
gkaramp
gourgaris
geoarg
Avoiding Existence
gkg
AZMAGILLIAN
Le ece
jimalexoud
JTS
Εμφάνιση

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

Νέα!
Πρόγραμμα Επαναληπτικής Εξεταστικής 2024-2025
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > C / C++ / C# (Moderators: chatzikys, PolarBear) > Δημιουργία μεταβλητών αρχείων στη C++
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: Δημιουργία μεταβλητών αρχείων στη C++  (Read 1686 times)
marauber
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2353


Ι will forgive but I won't forget...


View Profile
Δημιουργία μεταβλητών αρχείων στη C++
« on: March 12, 2008, 17:21:55 pm »

Καλησπέρα παίδες. Θέλω να δημιουργήσω αρχεία με ονόματα που προκύπτουν από κάποιες μεταβλητές, πχ testi όπου i=1 ή ί=2, ώστε να δημιουργηθούν τα αρχεία test1 και test2.

Έχω στο μυαλό μου κάτι του στυλ:

for (int i=1;i<4;i++)
   {
      ofstream teststream("test"+i);
      teststream<<"testing";
   }

αλλά τα αρχεία δε δημιουργούνται με τα ονόματα που αναμένω (δημιουργούνται τα est, st και t κόβοντας χαρακτήρες από το test). Καμία ιδέα;

Και αν καταφέρω αυτό, να βρω τρόπο να προσθέτω strings στο όνομα του αρχείου κατά βούληση με βάση λογικές πράξεις.
Logged

It never rains but it pours
-------------------------------------------------------
The Spartans do not ask how many but where they are
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #1 on: March 12, 2008, 17:36:08 pm »

Ναι γιατι με αυτο που κανει ειναι σαν να του λες να δωσει το ονομα απο το 1, 2, 3 ... χαρακτηρα του string που ειναι στην ουσια πινακας. Αυτο που πρεπει να κανεις ειναι το εξης:

Μετατρεπεις το i πρωτα σε char με τις συναρτησεις itoa ή atoi και μετα ενωνεις τα 2 strings.

Δηλ.

for (int i=1;i<4;i++)
   {
      ofstream teststream((string)("test"+itoa(i)));
      teststream<<"testing";
   }

Λογικα ετσι θα δουλεψει.
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
marauber
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2353


Ι will forgive but I won't forget...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #2 on: March 12, 2008, 18:04:21 pm »

Μου βγάζει σφάλμα στην itoa, `itoa' was not declared in this scope, παρόλο που έκανα #include <cstdlib>. Επίσης δοκίμασα και το εξής:


string b;
b="Test2";
ofstream teststream((string)("test"+b));
teststream<<"testing";

το οποίο πάλι δε δουλεύει "error: no matching function for call to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd:93: note: candidates are: std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)
"
Logged

It never rains but it pours
-------------------------------------------------------
The Spartans do not ask how many but where they are
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #3 on: March 12, 2008, 18:23:47 pm »

Δοκιμασε

char ch[10];
int i = 1234;
sprintf( ch,"%d", i);

απο http://www.codeguru.com/forum/archive/index.php/t-179488.html

Γενικα google int to char c++
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #4 on: March 12, 2008, 18:43:52 pm »

deleted
« Last Edit: June 14, 2015, 19:42:09 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
marauber
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2353


Ι will forgive but I won't forget...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #5 on: March 12, 2008, 19:03:15 pm »

Thanks Bob, δούλεψε. Μόνο μια μικρή λεπτομέρεια:

Πως γίνεται να αδειάσω το stringstream; Γιατί μέσα σε βρόγχο for εκτός από το τρέχον όνομα αρχείου βγάζει και τα προηγούμενα που είχαν μπει σε αυτό

#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;


int main( int argc, char * argv[ ] )
{
   int i;
   stringstream filename;
   for (i=i;i<4;i++)
   {
      filename<<"test"<<i;
      ofstream teststream(filename.str().c_str());
      teststream<<"testing";
   }
   return 0;
}

Πολύ σπάσιμο πάντως που η ofstream.open δε δέχεται σαν είσοδο string.
Logged

It never rains but it pours
-------------------------------------------------------
The Spartans do not ask how many but where they are
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #6 on: March 12, 2008, 19:05:54 pm »

deleted
« Last Edit: June 14, 2015, 19:41:55 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
marauber
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2353


Ι will forgive but I won't forget...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #7 on: March 12, 2008, 19:15:10 pm »

Thanks, βρήκα το filename.str(string()); και δουλεύει. Λογικά και τo δικό σου. Στο http://www.thescripts.com/forum/thread60377.html το βρήκα, το cplusplus δεν είχε κάτι.
Logged

It never rains but it pours
-------------------------------------------------------
The Spartans do not ask how many but where they are
Καμένος
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2322


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #8 on: March 14, 2008, 12:52:04 pm »

Επίσης στον πρώτο κώδικα μπορείς να βάλεις στη θέση του i το (i+48). Αυτό γιατί αν προσθέσεις σε string το i θα το πάρει ώς char. Αν το i=0 προσθέτει τον χαρακτήρα που έχει ASCII το 0..
Logged
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #9 on: March 14, 2008, 13:33:37 pm »

Quote from: Aurelius on March 12, 2008, 18:23:47 pm
Δοκιμασε

char ch[10];
int i = 1234;
sprintf( ch,"%d", i);

απο http://www.codeguru.com/forum/archive/index.php/t-179488.html

Γενικα google int to char c++

Παντως αυτο το δοκιμασα και δουλεψε.
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
marauber
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2353


Ι will forgive but I won't forget...


View Profile
Re: Δημιουργία μεταβλητών αρχείων στη C++
« Reply #10 on: March 14, 2008, 18:22:50 pm »

Ευχαριστώ άπαντες, αλλά τελικά με βόλεψε πολύ το stringstream και δεν το αλλάζω τώρα Tongue
Logged

It never rains but it pours
-------------------------------------------------------
The Spartans do not ask how many but where they are
Pages: [1] Go Up Print
Jump to:  

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