Fehler bei fputs in Linux

OP #3482083
Lesenswert?

Hallo zusammen,

ich bin kurz vor dem Verzweifeln! Ich möchte gerne einige Werte in eine 
Datei schreiben. Dafür habe ich folgenden Code:
1
results = fopen("aes_results.txt", "a");
2
if(results = NULL){
3
  printf("Fehler beim öffnen von aes_results.txt\n");
4
  break;
5
}
6

7
#if DEBUG
8
printf("aes_results.txt wurde geoeffnet!\n");
9
#endif
10
  
11
sprintf(put, "EncKey: %.3f", time1[0]);      
12
fputs(put, results);
13
print_results(results, time1);
14
...

An der Stelle fputs() bekomme ich unter Linux die Meldung "Segmentation 
fault". Soweit ich recherchiert habe hat das etwas mit 
Zugriffsberechtigung zu tun. Aber das hilft mir leider nicht beim Lösen 
des Problems. Ich hoffe mir kann hier jemand helfen.

Etwas früher erstelle ich die Datei:
1
results = fopen("aes_results.txt", "w+");
2
if(results != NULL){
3
  sprintf(put, "AES - Schluessel: \"%s\"\n", AES_KEYDATA);
4
  fputs(put, results);
5
  fclose(results);
6
#if DEBUG
7
  printf("aes_results.txt wurde erstellt!\n");
8
#endif
9
}else{
10
  printf("Fehler beim erstellen von aes_results.txt\n");
11
}
Das funktioniert auch Problemlos.
Gast #3482097
Lesenswert?

Robert B. schrieb:
> Wird bei der Übergabe eines char-Arrays nicht grundsätzlich der
> Pointer
> übergeben oder so ähnlich? Bei fputs(&put, ...) bekomme ich jedenfalls
> einen fehler vom Compiler, davor hat er nichts gesagt.

ja genau die funktion legt ja quasi bei übergabe den pointer auf deinen 
string an. daher war meine antwort unsinn ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren