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