WinUI3 Dateioperationen

OP #7530273
Lesenswert?
• ▲
▼

Moin Moin zusammen,

ich versuche mich gerade an einem kleinen Programm, das mir eine Textdatei erstellen soll. Ein Userinterface habe ich mir schon per WINUI3 und Vicual Studio zusammengebastelt, aber jetzt hakt es an den Dateioperationen. Die unten stehende Funktion wird aufgerufen, wenn ich auf den Button 'Datei erstellen' (oder so ähnlich) klicke. Im Debug-Modus bleibt das Programm auf der fwrite Zeile mit der Meldung stehen:

Ausnahmefehler bei 0x00007FFFE9EDAFEC (ucrtbased.dll) in Gravur_Artikelnummer_Datum_Logo_0.93.exe: Ein ungültiger Parameter wurde an eine Funktion übergeben, die ungültige Parameter als schwerwiegend einstuft.

Welcher Parameter ist denn da genau ungültig? Und wie bekomme ich das Ganze funktionierend?

Vielen Dank schon einmal...

1
void Gravur_Artikelnummer_Datum_Logo_0_93::MainPage::Starte_PlanetCNC_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
2
{
3
  Status->Text = "erstelle Datei";
4

5
  FILE * pfile;
6

7
  char   s[30] = "this is a string";
8
  int numwritten;
9

10
  fopen_s(&pfile, "c:\\PlanetCNC\\test.txt", "w+t");
11

12
  fwrite(s, sizeof(char), 30, pfile);
13
  
14
  fclose(pfile);
15
}
#7530293
Lesenswert?
• ▲
▼

Da der Code ohnehin Windows-lastig ist, könntest du auch die entsprechenden Win32 APIs (OpenFile etc.) für Dateioperationen verwenden. GetLastError liefert eventuell mehr Informationen als errno. Letztlich ist Windows aber nicht mehr mein Fach.

Ansonsten: Immer die Rückgabewerte von Funktionen prüfen und verfahren, wie es in der Doku der jeweiligen API angegeben ist.

#7530340
Lesenswert?
• ▲
▼

Du verwendest doch eh schon Managed C++, warum versuchst du da unmanaged C - Code reinzuwüfeln, was eigentlich garnicht notwendig wäre? .NET kann auch so Dateien schreiben, File::Create&co aus System::IO etc...

1
File.WriteAllText("c:\\PlanetCNC\\test.txt","this is a string");

als Einzeiler?

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.