länge von stdin ermitteln (c) |
|
länge von stdin ermitteln (c) |
|
Tag ich habe ein Problem.
Situation ist folgende:
Ich habe einen char array code_buffer[]. Dieser char array wird mit einer Tastatureingabe befüllt.
fgets(code_buffer[],sizeof(code_buffer[]),stdin);
Das Problem ist jedoch, das die Tastatureingabe, die in code_buffer[] gespeichert werden soll, von der Länge her sehr variiert. d.h. mal können es nur 2 Zeichen sein, mal 1000, mal 100000. Wie kann ich jetzt die größe von code_buffer[] quasi zum Zeitpunkt der Tastatureingabe an die Größe der Eingabe anpassen. Meine überlegung war, das ich stat einer statischen char variablen eine char zeiger nehme, und dann je nach Tastatureingabe entsprechenden Speicher reserviere. Jedoch weiss ich nicht, wie ich die länge der Tastatureingabe ermitteln kann, ohne diese vorher in eine Variable zu speichern.
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
23.07.2008 21:25 |
|
|
|
bau dir ne verkettete liste und lese strings fester länge ein ... bis du entweder genug hast, oder nix mehr da ist ...
__________________ Gräten auf dem Sofakissen wird man wohl entfernen müssen.
|
|
23.07.2008 22:20 |
|
|
|
stimmt, auch ne möglichkeit, danke
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
23.07.2008 22:36 |
|
|
|
öhm ich hab ein problem, es handelt sich um folgende anweisung:
auszug:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
struct stack_constructor *stack_bottom;
stack_bottom=(struct stack_constructor *)calloc(sizeof(struct stack_constructor),1);
if(!stack_bottom);
{
printf("Not enough memory to intialize the stack...");
exit(0);
} |
|
structur is folgende:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
struct stack_constructor
{
struct stack *last;
char type;
int data;
struct stack *next;
};
|
|
eig sollte da ja bei der speicherallozierung nicht viel falschlaufen, aber ich bekomme immer die not enough memory meldung, ich hab keine ahnung, wo das problem liegt, vll steh ich einfach aufm schlauch
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
24.07.2008 14:18 |
|
|
|
php: |
1:
2:
3:
4:
5:
6:
7:
|
<?php if(!stack_bottom); // hier ist if ende, dank semikolon
// hier wird nur ein neuer block eingeleitet
{
printf("Not enough memory to intialize the stack...");
exit(0);
} ?> |
|
|
|
24.07.2008 15:49 |
|
|
|
aaaaaaaaaahhhhhh *kopfschuss* man wie gesagt, man kann echt aufm schlauch stehn
danke
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
24.07.2008 15:59 |
|
|
|