45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
/*
|
|
een programma dat newlines leest en ze dan weer print
|
|
|
|
we gaan een scanf moeten maken die newlines leest en dan malloced voor elke
|
|
string
|
|
|
|
scanf lijkt automatisch te stoppen op newlines, maar gaat wel onmiddelijk door totdat alle scanf's satisfied zijn
|
|
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#define WORDCOUNT 5
|
|
|
|
void storeinput(char input[], int index, char **strarr) {
|
|
char *myword = malloc(strlen(input) +1);
|
|
//*myword = *input; //blijkbaar hier strcpy voor nodig, want anders overwrite
|
|
//ik hier alleen maar de value van de pointer zelf
|
|
strcpy(myword, input); //myword is a pointer to allocated memory, but it's empty unless strcopy
|
|
printf("myword:%s\n", myword);
|
|
strarr[index] = myword;
|
|
printf("strarr:%s\n", strarr[index]);
|
|
}
|
|
|
|
int main() {
|
|
// laten we eerst een array van pointers naar strings maken
|
|
char **strarr = malloc(sizeof(char *) * 10);
|
|
|
|
// moeten nu een functie maken die individuele strings malloced?
|
|
|
|
for (int i = 0; i < WORDCOUNT; i++) {
|
|
char temp[50];
|
|
scanf("%s", temp);
|
|
storeinput(temp, i, strarr);
|
|
printf("wordin:%d %s\n", i, temp);
|
|
}
|
|
|
|
for (int i = 0; i < WORDCOUNT; i++) {
|
|
printf("word:%d, %s\n", i, strarr[i]);
|
|
}
|
|
return 0;
|
|
}
|