Ich habe versucht, c jetzt für eine Weile, aber ich kann nicht mit Zeiger-Arrays.
zum BeispielHinzufügen einer Zeichenfolge zu Zeiger auf Zeiger in c zeigt nichts beim Zugriff
char *word;
char *container[100];
In den folgenden for-Schleife i am Anhang einzelnen Buchstaben in einem String Temp dann will ich zu * Behälter [100], wenn das Trennzeichen hinzuzufügen. ist erschienen.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main()
{
int z = 0;
int k=0;
char *word;
char *container[100];
char *in = " First Word . Second Word";
for(k=0; k<strlen(in); k++)
{
//using . as a delimiter
if(in[k]=='.')
{
container[z] = word;
printf("%s\n", container[z]); //<---- this prints okey inside loop
z++;
memset(word,0,strlen(word));
}
else
{
//appending characters to temp, using some method
snprintf(word + strlen(word), (sizeof word) - strlen(word), "%c", in[k]);
}
}
//doesnt print anything outside the loop
printf("Does it print: %s\n", container[0]);
printf("Doest it print: %s\n", container[1]);
return 0;
}
wenn ich versuche, die Worte in Behälter drucken es etwas zeigen tut:
printf("%s\n", container[0]);
printf("%s\n", container[1]);
Ich glaube, ich irgendeine Art von Dynamic Allocation zu tun haben. Aber ich weiß nicht wie.
Bitte senden Sie eine [mcve] –
erklären Sie Ihren Code besser, was ist Temp? Behälter [z] ??? –
Haben Sie es falsch kopiert? 'Was soll 'container [z]' tun? – Barmar