Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49c0585dec | ||
|
|
fcf29b73a3 | ||
|
|
6b80b5f1cb | ||
|
|
39f3febc4f |
Vendored
+18
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Debug current C file",
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${fileDirname}",
|
||||||
|
"externalConsole": false,
|
||||||
|
"MIMode": "gdb",
|
||||||
|
"miDebuggerPath": "C:/msys64/mingw64/bin/gdb.exe",
|
||||||
|
"preLaunchTask": "C/C++: gcc.exe build active file"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"input.h": "c"
|
||||||
|
},
|
||||||
|
"C_Cpp.errorSquiggles": "disabled"
|
||||||
|
}
|
||||||
Vendored
+49
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "build C file",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "gcc",
|
||||||
|
"args": [
|
||||||
|
"-g",
|
||||||
|
"${fileBasename}",
|
||||||
|
"-o",
|
||||||
|
"${fileBasenameNoExtension}.exe"
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"cwd": "${fileDirname}"
|
||||||
|
},
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": false
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
"$gcc"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cppbuild",
|
||||||
|
"label": "C/C++: gcc.exe build active file",
|
||||||
|
"command": "C:\\msys64\\mingw64\\bin\\gcc.exe",
|
||||||
|
"args": [
|
||||||
|
"-fdiagnostics-color=always",
|
||||||
|
"-g",
|
||||||
|
"${file}",
|
||||||
|
"-o",
|
||||||
|
"${fileDirname}\\${fileBasenameNoExtension}.exe"
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"cwd": "${fileDirname}"
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
"$gcc"
|
||||||
|
],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"detail": "Task generated by Debugger."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
#include "input.h"
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#define MAX_NUMBER_OF_WORDS 100 // wird in main definiert zum testen hier auch definiert!
|
||||||
|
//TODO:
|
||||||
|
//eine Funktion implementieren, die ein einzelnes Wort aus einer Textdatei (words.txt) einliest und als C-String zurückgibt
|
||||||
|
|
||||||
|
int readWords(FILE*file, char words[][MAX_WORD_LEN], unsigned int maxWordCount)
|
||||||
|
{
|
||||||
|
int zeilen = 0;
|
||||||
|
file = fopen("words.txt", "r"); // öffnen der datei (Wird in main gemacht also rausmachen!!!!!!!!!)
|
||||||
|
if(file == 0)
|
||||||
|
{
|
||||||
|
printf("Fehler beim oeffnen der Woerter \n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
while(fgets(words[zeilen], MAX_WORD_LEN, file) != 0) //auslesen der Zeilen
|
||||||
|
{
|
||||||
|
size_t laenge = strlen(words[zeilen]); // Datentyp size_t wird verwendet bei strlen
|
||||||
|
if(laenge > 0 && words[zeilen][laenge - 1] == '\n') //austauschen des Leerzeichens mit einem Nullzeichen falls nötig
|
||||||
|
{
|
||||||
|
words[zeilen][laenge - 1] = '\0';
|
||||||
|
laenge--; // Länge nach austauschen 1 kleiner weil nullzeichen nicht mitzählt
|
||||||
|
}
|
||||||
|
zeilen++;
|
||||||
|
}
|
||||||
|
printf("%d \n", zeilen);
|
||||||
|
fclose(file); // Datei schließen (Wird in main geschlossen also muss man das noch rausmachen!!!!!!!!)
|
||||||
|
int alt_zeilen = zeilen;
|
||||||
|
zeilen = 0;
|
||||||
|
char *teiler = " .,;\n\t\r";
|
||||||
|
char *woerter;
|
||||||
|
char aufgeteilt[MAX_NUMBER_OF_WORDS][MAX_LINE_LEN]; //zwischenspeicher fürs aufteilen der Wörter
|
||||||
|
for(int i = 0; i < alt_zeilen; i++) // Jede Zeile einzeln betrachten
|
||||||
|
{
|
||||||
|
woerter = strtok(words[i], teiler);
|
||||||
|
while(woerter != 0)
|
||||||
|
{
|
||||||
|
strncpy(aufgeteilt[zeilen], woerter, MAX_WORD_LEN); // Kopieren der aufgeteilten Wörter in den Zwischenspeicher
|
||||||
|
zeilen++;
|
||||||
|
woerter = strtok(NULL, teiler); // NULL sagt das man weiterhin in der selben Zeile bleibt und dort aufteilt
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("%d \n", zeilen);
|
||||||
|
for(int i = 0; i < zeilen; i++)
|
||||||
|
{
|
||||||
|
strncpy(words[i], aufgeteilt[i], MAX_WORD_LEN); // überschreiben der Wörter zurück ins alte Array
|
||||||
|
size_t len = strlen(words[i]);
|
||||||
|
for(int j = 0; j < len; j++)
|
||||||
|
{
|
||||||
|
words[i][j] = toupper(words[i][j]); // groß schreiben
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < zeilen; i++)
|
||||||
|
{
|
||||||
|
printf("%s \n", words[i]);
|
||||||
|
}
|
||||||
|
return zeilen;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char words[MAX_NUMBER_OF_WORDS][MAX_WORD_LEN];
|
||||||
|
FILE*file;
|
||||||
|
unsigned int wordCount = 0;
|
||||||
|
wordCount = readWords(file, words, MAX_NUMBER_OF_WORDS);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user