c language

  1. german

    [C/C++/WinAPI] Progressbar für die Windows Console 2020-07-30

    Diese kleine Lib dient der Ausgabe von Fortschrittsanzeigen in das Windows Consolefenster oder das Windows Terminal. pbar_create Die Anzahl von Einzelschritten welche 100% repräsentieren wird bei der Erstellung parametriert. Ebenso werden Position, Länge, Farben und Beschriftung definiert...
  2. german

    [C] Escapesequenzen in einem String parsen wie in einem Literal

    In Stringliteralen werden bestimmte Sequenzen mit vorangestelltem Backslash vom Compiler in das repräsentierte Zeichen konvertiert. Das Betrifft bspw. Steuerzeichen wie \t und \n, aber auch oktale Sequenzen (am bekanntesten \0) oder hexadezimale Sequenzen (z.B. \xFF). Sind solche Zeichenfolgen...
  3. german

    [C/C++/WinAPI] ANSI Escapesequenzen in der Windows 10 Console 2020-07-11

    Warum? Die neue Windows Console unterstützt beginnend mit Windows 10.0.10586 ANSI Escapesequenzen im Virtual Terminal Modus, beispielsweise um Text farbig auszugeben. Siehe: https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences Consoleanwendungen müssen die Console...
  4. german

    [C/WinAPI] Rundll32.exe und Ausführung von (eigenen) Libraryfunktionen

    Rundll32.exe ist ein Hostprogramm, mit dem es möglich ist Funktionen einer DLL aufzurufen. Das wird auch immer wieder mit allen möglichen Funktionen versucht. Meist nach dem "Try And Error" Prinzip, da kaum jemand verstanden hat, was das "Rundll32 can only call functions from a DLL explicitly...
  5. german

    [C] String- und Vector-Bibliotheken 1.4

    [C] string and vector (dyn. array) libraries based on the idea of length-prefixed strings For an English description refer to the pdf file which is included in the download, too. Function references in the header files are in English anyway. Diese Ressource besteht aus Bibliotheken, die ich...
  6. german

    [C] StrFix Funktion - String auf eine fixe Länge erweitern oder einkürzen

    Die StrFix Funktion führt ein Padding am Anfang und/oder Ende eines Strings aus. Der veränderte String wird in ein übergebenes Pufferarray geschrieben. Anwendungsmöglichkeit könnte bspw. die zentrierte Ausgabe eines Textes sein. #include <stdio.h> #include <string.h> // StrFix #include...
  7. german

    [C] Trim Funktion - Entfernt spezifizierte voran- und/oder nachgestellte Zeichen eines Strings.

    Die Trim Funktion kann hilfreich sein, wenn Strings voran- und/oder nachgestellte Zeichen (oft sind dies Leerzeichen) enthält, die bei anderer Operationen stören. Die Funktion führt diese Änderungen im übergeben String durch, der also nicht konstant sein darf. #include <stdio.h> #include...
  8. german

    [C] Replace Funktionen - Ersetzung aller Vorkommen eines Teilstrings

    Die folgende Replace Funktion führt eine einfache Stringersetzung durch, für Anwendungsfälle bei denen keine zeit- und rechenintensiven regulären Ausdrücke benötigt werden. #include <stdio.h> #include <stdlib.h> // Replace #include <string.h> // Replace /** \brief Sucht alle Vorkommen eines...
  9. german

    [C] Join Funktionen - Einzelstrings aus einem Array in einem String verketten

    Diverse Sprachen bieten eine Join Funktion, die Elemente eines Arrays mit angegebenen Trennzeichen in einem String verketten. Unten finden sich zwei mögliche Umsetzungen in C. Die JoinCopy Funktion verkettet in einen übergebenen Puffer mit fixer Breite. Die JoinAlloc Funktion verkettet in einen...
  10. german

    [C] Split Funktion - String an Trennzeichen in einen Vector von Teilstrings zerlegen

    Die strtok() Funktion verändert den Originalstring und es gibt keine Möglichkeit aufeinanderfolgende Trennzeichen als Einzeltrennzeichen zu behandeln. Die folgende SplitAlloc() Funktion hält Einstellungen bereit, die das erlauben. Die einzelnen Tokens werden in einen allozierten Vector...
  11. german

    [C] CpyCat Funktion, verkettet Strings schlauer als strcat

    Vor ~20 Jahren hatte Joel Spolsky (langjähriger Microsoft Entwickler und Mitbegründer von StackOverflow) auf seiner Seite einen interessanten Artikel gepostet. https://www.joelonsoftware.com/2001/12/11/back-to-basics/ Es geht im Grunde darum zu verstehen, was die Effizienz von Code beeinflusst...
  12. german

    [C] Grundlegende Unicode-String Funktionsbibliothek 2020-04-10

    Vorwort Diese Lib bietet ein paar einfache Funktionen zum Verarbeiten von UTF-8, UTF-16 und UTF-32. Diese Kodierungen unterstützen Unicode vollumfänglich. Nicht betrachtet werden Unicode Kodierungen wie UTF-EBCDIC oder CESU-8. Additionell sind die Convertierungen von und zu Codepages 850...
  13. german

    [C] Pointer

    „<(°_°)> Nicht verstehen Pointers führt zu Wut, Wut führt zu Hass. Hass führt zu unsäglichem Leid.“ (frei nach Yoda) Nein, nein. Das wird hier keine Fortsetzung von Star Wars :D Aber das eine oder andere Sternchen wird in den Beispielen auftauchen. Und manch einer steht auf Kriegsfuß mit ihnen...
  14. german

    [C] Strings? Aufbau, Missverständnisse und Pitfalls

    Vorab Der Grund, warum ich diesen Beitrag schreibe, ist, dass das Arbeiten mit C-Strings immer wieder zu Verwirrungen führt. Hauptgrund dafür ist, dass meistens davon ausgegangen wird, ein C-String würde sich ähnlich verhalten wie Basistypen (char, int, float, ...). Das ist falsch! Wenn man also...
  15. german

    [C] Die spinnen, die Eingabefunktionen. Essensreste im stdin ...

    Da in C Vorlesungen offensichtlich chronisch die scanf() Funktion für Benutzereingaben gelehrt wird, gibt es ebenso chronisch immer wieder dasselbe Problem: Bei aufeinanderfolgenden Aufrufen werden Eingabefunktionen vermeintlich übergangen. Stellen wir die Symptome mit einem kleinen Beispiel...
  16. german

    [C] Benutzereingaben oder Textdateien zeilenweise einlesen

    Q 1: Welche Funktionen bietet C an? A: Die entsprechenden Funktionen finden sich im Header stdio.h und müssen in der Lage sein, an einem Zeilenumbruch abzubrechen (Zeichenkette lesen) oder einen Zeilenumbruch zu detektieren (zeichenweise lesen) fgetc - Zeichen von einem Stream (Datei oder...
Oben Unten