D
Data2006
Bekanntes Mitglied
- Dabei seit
- 26.11.2017
- Beiträge
- 56
- Reaktionspunkte
- 0
Servus miteinander!
Ich habe mir paar YouTube-Videos angeguckt. War z. B. ein Beispiel mit 2 Zeigern.
Den Anfang mit den Vorgaben habe ich mir noch angeguckt. Rest wollte ich selber probieren. Bin an ner Fehlerstelle nicht weitergekommen.
Ausgang war eine Zeichenkette char b[] = "serf123 345;.456 sfjhfg 345";
Aus diesem String sollten die Zahlen rausgefiltert werden und in ein Array mit int-Zahlen geschrieben werden. Dazu eine Funktion int *p = leseZahlen(b);
Ich habe dann verschiedenes ausprobiert. Z. B.:
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char b[] = "serf123 345;.456 sfjhfg 345";
char zahlenarray[5] = " ";
int i = 0;
for(int y= 0; y <= strlen(b); y++)
{
cout << endl << y << " = " << b[y];
strcat(zahlenarray, b);
}
Ich wollte aus dem Array b erstmal jedes Zeichen/Zahl auslesen. Und hintereinander in zahlenarray reinschreiben. Zuerst hatte ich eine Verknüpfung mit zahlenarray=zahlenarray+b bzw. & zur Verknüpfung probiert. Bei VB ging das wohl so. Dann habe ich strcpy probiert. Dann bin ich bei strcat gelandet:
strcat(zahlenarray, b); //[Error] invalid conversion from 'char' to 'const char*' [-fpermissive]
52 18 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\string.h [Note] initializing argument 2 of 'char* strcat(char*, const char*)'
Was sagen mir jetzt die Fehler?
Kann ich nicht aus b die einzelnen Zeichen rauskopieren und mit strcat neu ablegen?
Vorher habe ich auch ein while(...) probiert:
int* leseZahlen(char a[])
{
char zahlenarray[5] = " ";
int i = 0;
while (a != 0)
{
if(a >= '0' && a <= '9')
{
cout << endl << a;
strcat(zahlenarray, a);
i++;
}
a++;
Da ging es auch nicht. Und ich konnte den Zeiger nicht weiterspringen lassen
a++;
Paar Variablen a und b für die Zeichenkette und i und y zum Zählen vertauscht. Sollte aber nicht das Problem sein.
Wie komme ich jetzt ohne das Video weiter gucken zu müssen an eine Lösung?
Vielen Dank.
LG
Data2006
Ich habe mir paar YouTube-Videos angeguckt. War z. B. ein Beispiel mit 2 Zeigern.
Den Anfang mit den Vorgaben habe ich mir noch angeguckt. Rest wollte ich selber probieren. Bin an ner Fehlerstelle nicht weitergekommen.
Ausgang war eine Zeichenkette char b[] = "serf123 345;.456 sfjhfg 345";
Aus diesem String sollten die Zahlen rausgefiltert werden und in ein Array mit int-Zahlen geschrieben werden. Dazu eine Funktion int *p = leseZahlen(b);
Ich habe dann verschiedenes ausprobiert. Z. B.:
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char b[] = "serf123 345;.456 sfjhfg 345";
char zahlenarray[5] = " ";
int i = 0;
for(int y= 0; y <= strlen(b); y++)
{
cout << endl << y << " = " << b[y];
strcat(zahlenarray, b);
}
Ich wollte aus dem Array b erstmal jedes Zeichen/Zahl auslesen. Und hintereinander in zahlenarray reinschreiben. Zuerst hatte ich eine Verknüpfung mit zahlenarray=zahlenarray+b bzw. & zur Verknüpfung probiert. Bei VB ging das wohl so. Dann habe ich strcpy probiert. Dann bin ich bei strcat gelandet:
strcat(zahlenarray, b); //[Error] invalid conversion from 'char' to 'const char*' [-fpermissive]
52 18 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\string.h [Note] initializing argument 2 of 'char* strcat(char*, const char*)'
Was sagen mir jetzt die Fehler?
Kann ich nicht aus b die einzelnen Zeichen rauskopieren und mit strcat neu ablegen?
Vorher habe ich auch ein while(...) probiert:
int* leseZahlen(char a[])
{
char zahlenarray[5] = " ";
int i = 0;
while (a != 0)
{
if(a >= '0' && a <= '9')
{
cout << endl << a;
strcat(zahlenarray, a);
i++;
}
a++;
Da ging es auch nicht. Und ich konnte den Zeiger nicht weiterspringen lassen
a++;
Paar Variablen a und b für die Zeichenkette und i und y zum Zählen vertauscht. Sollte aber nicht das Problem sein.
Wie komme ich jetzt ohne das Video weiter gucken zu müssen an eine Lösung?
Vielen Dank.
LG
Data2006