problem mit fopen

Navigato

Grünschnabel
Hallo,

ich habe ein Problem mit meinem Skript. Wenn ich eine Datei mit fopen öffnen möchte bekomme ich die Fehlermeldung:

nagios@server:/usr/lib/nagios/plugins> ./check_procs /usr/lib/nagios/cfg/plugin_param.ini
Speicherzugriffsfehler
nagios@server:/usr/lib/nagios/plugins>

:confused:

woran liegt das nur so ganz neben bei :-) das ding wird unter Suse9.1 ausgeführt. (komisch unter Solaris 9 fuktioniert es bestens! :confused: )


AUSZUG AUS MEINEM PROG:

int main(int argc, char* argv[])
{
if (argv[1]==NULL){
cout << "Keine Parameter übergeben )-:" << endl;
return 1;
}

[...]


FILE *stream;
FILE *tmp;
FILE *file_inifile;
std::string str_ini_file; //= "/usr/local/lib/nagios/cfg/plugin_param.ini";
std::string str_line;
std::string server_path;

str_ini_file += argv[1];

[...]


/*--------------------------------------------------------------------------*/
/*Öffnet die Datei str_ini_file und durchsucht diese nach Key-Value Pairs */

if ((file_inifile = fopen(str_ini_file.c_str(), "r")) != NULL) // AN DIESER STELLE
{
while (!feof(file_inifile))
{
fgets( line, 1000, file_inifile);
str_line = line;

while(line[0] == 32)
{
str_line = str_line.substr(1,str_line.length());
strcpy(line,str_line.c_str());

}if (line[0] == '[')
{
section[i_section_count].str_section = line;
i_section_count++;

}else if (!(line[0]==';' || line[0] == 10 || line[0] == 13 || feof(file_inifile)))
{
section[i_section_count-1].str_value[section[i_section_count-1].i_value_count] = line;
section[i_section_count-1].str_value[section[i_section_count-1].i_value_count] = section[i_section_count-1].str_value[section[i_section_count-1].i_value_count].substr(0,section[i_section_count-1].str_value[section[i_section_count-1].i_value_count].length()-1);
section[i_section_count-1].i_value_count++;
}
}

fclose(file_inifile);

[...]


Gruß
Navigato
 

Neue Beiträge

Zurück