file input
This commit is contained in:
@@ -1,63 +0,0 @@
|
|||||||
#include <stddef.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
struct stringchicken{
|
|
||||||
char **data;
|
|
||||||
size_t length;
|
|
||||||
size_t capacity;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct stringchicken *create_string_chicken(){
|
|
||||||
struct stringchicken *mystruct = malloc(sizeof(struct stringchicken));
|
|
||||||
mystruct->length = 0;
|
|
||||||
mystruct->capacity = 2;
|
|
||||||
|
|
||||||
mystruct->data = malloc(sizeof(char*) * mystruct->capacity);
|
|
||||||
|
|
||||||
return mystruct;
|
|
||||||
}
|
|
||||||
|
|
||||||
void push_SC(char *string_input, struct stringchicken *struct_input){
|
|
||||||
|
|
||||||
if (struct_input->length == struct_input->capacity) {
|
|
||||||
struct_input->capacity*=2;
|
|
||||||
char **tempptr = realloc(struct_input->data, sizeof(char*) * struct_input->capacity);
|
|
||||||
|
|
||||||
if (tempptr == NULL) {
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct_input->data = tempptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
char *newstring = malloc(strnlen(string_input, sizeof(char)*100));
|
|
||||||
strcpy(newstring,string_input);
|
|
||||||
struct_input->data[struct_input->length] = newstring;
|
|
||||||
|
|
||||||
struct_input->length++;
|
|
||||||
}
|
|
||||||
|
|
||||||
void printchicken(struct stringchicken *input_struct){
|
|
||||||
for (size_t i = 0; i < input_struct->length; i++) {
|
|
||||||
printf("line:%zu equals %s", i, input_struct->data[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
char myString[100];
|
|
||||||
char ch;
|
|
||||||
FILE *fptr = fopen("./kvtest.txt", "r");
|
|
||||||
|
|
||||||
struct stringchicken *mystringarray = create_string_chicken();
|
|
||||||
|
|
||||||
while (fgets(myString, 100, fptr)) {
|
|
||||||
push_SC(myString, mystringarray);
|
|
||||||
}
|
|
||||||
|
|
||||||
printchicken(mystringarray);
|
|
||||||
int mylength = strnlen(myString, 100);
|
|
||||||
|
|
||||||
fclose(fptr);
|
|
||||||
}
|
|
||||||
@@ -1,12 +1,18 @@
|
|||||||
#include "stringchicken.h"
|
#include "stringchicken.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
int main() {
|
int main(int argc, char* argv[]) {
|
||||||
char myString[100];
|
char myString[100];
|
||||||
char ch;
|
char ch;
|
||||||
FILE *fptr = fopen("./kvtest.txt", "r");
|
FILE *fptr = fopen(argv[1], "r");
|
||||||
|
|
||||||
|
if (fptr == NULL) {
|
||||||
|
printf("file doesn't exist");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
struct stringchicken *mystringarray = create_string_chicken();
|
struct stringchicken *mystringarray = create_string_chicken();
|
||||||
|
|
||||||
@@ -14,7 +20,7 @@ int main() {
|
|||||||
push_SC(myString, mystringarray);
|
push_SC(myString, mystringarray);
|
||||||
}
|
}
|
||||||
|
|
||||||
printchicken(mystringarray);
|
print_SC(mystringarray);
|
||||||
int mylength = strnlen(myString, 100);
|
int mylength = strnlen(myString, 100);
|
||||||
|
|
||||||
fclose(fptr);
|
fclose(fptr);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ struct stringchicken{
|
|||||||
|
|
||||||
struct stringchicken *create_string_chicken(void);
|
struct stringchicken *create_string_chicken(void);
|
||||||
void push_SC(char *string_input, struct stringchicken *struct_input);
|
void push_SC(char *string_input, struct stringchicken *struct_input);
|
||||||
void printchicken(struct stringchicken *input_struct);
|
void print_SC(struct stringchicken *input_struct);
|
||||||
|
|
||||||
#endif // STRINGCHICKEN_H
|
#endif // STRINGCHICKEN_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
dit is een test
|
|
||||||
test2
|
|
||||||
Reference in New Issue
Block a user