Gast
#2021676
Hi, wie kann man in C am schnellsten nach 10. Semikolon einen String einlesen. Man könnte z.B. 10-leere while Schleifen nehmen, ist nur redundant :-)
|
Anzeige
|
Wie nach 10. Semikolon String einlesen
Gast
#2021676
Hi, wie kann man in C am schnellsten nach 10. Semikolon einen String einlesen. Man könnte z.B. 10-leere while Schleifen nehmen, ist nur redundant :-)
Gast
#2021681
strtoken / strtokencount
Gast
#2021684
so in etwas, man sollte aber noch dafür sorgen das nichts schief geht wenn es keine 10 ; gibt.
Gast
#2021686
hab einen anwendungspezifischen compiler, der keine includes machen kann.
Gast
#2021692
Pointer gehen auch nicht :-( DEV0 schrieb: > Pointer gehen auch nicht :-( Dann machs über Array-Zugriffe. Das Prinzip ist doch dasselbe: Den String Zeichen für Zeichen durchgehen und mitzählen wieviele ; man angetroffen hat. Aus der Schleife gehts raus, wenn der String zu Ende ist, oder eben wenn 10 Stück ; angetroffen wurden. DEV0 schrieb: > hab einen anwendungspezifischen compiler, der keine includes machen > kann. Dann nenn das Ding bitte nicht C-Compiler! Den mit den Einschränkungen ist das alles mögliche, nur nicht C.
Abgesehen davon, daß dieser "Sourcecode" formatiert ist wie 'ne Klobürste, ist das C++. Womit der Threadstarter vermutlich noch viel weniger anfangen können wird.
Gast
#2021722
Xeraniad X. schrieb: > void cut ( char const src [/*1 +cpc*/] > src [s_i] das wird wohl schief gehen, weil man ja kein Zeiger übergibt, danach lieft man irgentetwas vom Stack aus. Ich finde: die Aufgabenstellung ist so trivial, dass sie der Fragesteller alleine hinkriegen MUSS, wenn er sich auch nur in die Nähe des Begriffs "Programmierer" katapultieren will. Wenn er sich dann auch noch in die Nähe von "Softwareentwickler" schiessen will, dann muss er auch noch die richtige Idee dazu haben, zumal die nun wirklich nicht schwer zu finden ist. Wie oft ein Zeichen in einem String vorkommt, ist Einsteigerniveau der 6. oder 7. Unterrichtseinheit, gleich nachdem man erzählt bekommen hat, wie Strings in C funktionieren (aufbauend auf dem Begriff Array aus 2 Stunden vorher).
Gast
#2021728
Peter schrieb: > das wird wohl schief gehen, weil man ja kein Zeiger übergibt, danach > lieft man irgentetwas vom Stack aus. sorry main fehler, das [] habe ich übersehen. Bei dieser Formatiertung auch kein wunder. Peter schrieb: > Xeraniad X. schrieb: >> void cut ( char const src [/*1 +cpc*/] >> src [s_i] > das wird wohl schief gehen, weil man ja kein Zeiger übergibt, danach > lieft man irgentetwas vom Stack aus. Das ist schon in Ordnung. Der Syntaktische Zucker void foo( char a[] ) { ... } ist nichts anderes als der Versuch, den automatischen Pointer bei Array-Übergabe syntaktisch zu verstecken. Abgesehen davon passiert unter der Decke genau das gleiche wie bei void foo( char * a ) { ... } Warum man diese Syntax in C erlaubt hat? Keine Ahnung. Ausser das sich Neulinge etwas leichter tun, hat sie kaum Vorteile. Im Prototypen ist vielleicht etwas besser ersichtlich, dass die Funktion hier void foo( char a[] ); ein bereits vorhandenes Array erwartet, während man bei void foo( char * a ); nicht so recht weiß, wass es mit dem Pointer auf sich hat und sich erst mal schlau machen muss.
Gast
#2021788
@Buchegger: kannst das mal konkretisieren? Was soll ich konkretisieren? Meiner Meinung nach wurde schon alles gesagt und (leider) auch in einem Codebeispiel gezeigt.
Gast
#2021806
DEV0 schrieb: > @Buchegger: kannst das mal konkretisieren? Oh Mann, lies doch erst einmal ein C-Buch!!
Gast
#2021828
der code ist murx. Er ist (für meinen Geschmack) schlecht formatiert. Aber Murx ist er nicht. Im übrigen: Du hast die Lösungsidee, du hast deinen C-Compiler. Du hast sogar ein Musterbeispiel, welches diese Lösungsidee implementiert. Was also hindert dich?
Gast
#2021849
DEV0 schrieb: > der code ist murx. Welcher? Hier stehen zwei Codebeispiele. Außerdem ist das nun wirklich keine große Aufgabe. Da du kein C benötigst, sondern anscheinend nur irgendeine einen Murx der eine Art beschnittenes C ist, sollte es dir möglich sein den Code von Peter entsprechend anzupassen. Danach musst du dir dann nur noch Gedanken machen wie du auf nicht vorhandene Semikolons reagierst. Schleife -> 10. Semikolon suchen -> Bis Terminierung kopieren... so schwer ist das nicht. Auch für Klobürsten gilt: form follows function ;-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|