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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.