C++ SIGSEGV

Nikos Kanellopoulos nkan at panafonet.gr
Tue Sep 10 23:02:01 EEST 2002


Ρε παιδιά, κινδυνεύω να χάσω τα μαλλιά μου.
Το παρακάτω προγραμματάκι, σχεδόν βγαλμένο από
το βιβλίο του Stroustrup, πετάει Segmentation Fault.

Ανάλογα με την έκδοση του g++, είτε το πετάει
αμέσως (g++ 3.2), είτε τυπώνει την 1η γραμμή του
αρχείου και μετά. Καμία ιδέα;
(Το file.txt δεν έχει τίποτα μυστήριο μέσα, 
1η γραμμή: 1 \t 2 \t 3 \n  ).

Αυτό δοκιμαστικό προγραμματάκι το έγραψα γιατί
συνάντησα το ίδο πρόβλημα σε ένα άλλο πρόγραμμα.

#include <fstream>
#include <iostream>

using namespace std;

int main (int argc, char* argv[]) {
        ifstream file ;
        char* str;

        file.open ("file.txt", ios::in); 
        file.getline(str, 20);		/* ή εδώ θα σκάσει (3.2) */
        cout << str << endl;		/* ή εδώ (2.96) */
}

Είναι δυνατόν ένα τόσο σημαντικό στοιχείο της γλώσσας να
έχει πρόβλημα στην υλοποίηση; 

-- 
Νίκος Κανελλόπουλος
www.himaira.net



More information about the Linux-greek-users mailing list