string in char array

Status
Niet open voor verdere reacties.
Als dat het geval is dan zou dit topic niet eens bestaan.

De TS wist toen hij dit topic startte niet hoe hij het eerste karakter als string kon gebruiken, dat wist hij na mijn post wel. En zal de TS niet slim genoeg zijn om te bedenken dat je op de plaats zelf ook s = eenString.substr(0,1) zou kunnen schrijven? Vast wel :p
 
Met welk doel? Ik vind dat je beter had kunnen aangeven dat de functie die jij zelf gepost hebt nergens op slaat in plaats van een poging te doen om Arjan B te verbeteren.

De oplossing die ik had gegeven klopte simpelweg niet. Ik ben blij dat CoD_NL mij daar even op wees ^^.

Jij, CoD_NL en ik hadden gewoon een verschillend idee van waar de TS nou eigenlijk naar vroeg. CoD_NL dacht het eerste karakter uit een string retourneren, wij dachten een std::string in een array van char stoppen.
Nu had jij dus al wel een oplossing gegeven voor wat ik dacht dat het probleem was, maar ik wilde nog aanvullen door een oplossing te geven met al bestaande functies. Waarom een for-loop schrijven als strcpy() al het werk al voor je doet, dacht ik zo ^^.
 
Laatst bewerkt:
@CoD_NL
Ik snap nog steeds niet waarom je in eerste instantie niet aangaf dat de functie die je postte nergens op sloeg ook al was jouw doelstelling de code van Arjan B verbeteren.

Ik schat de ervaring van de TS niet bepaald hoog in omdat ik deze baseer op een enkel paar regels code, waaronder de regel: "char charArray[] = { eenString };".

@Arjan B
Een opmerking over de nuttigheid van de functie die je hebt gepost zou wel gepast zijn geweest.

De TS geeft zelf aan dat hij een functie probeert te schrijven die, naar eigen zeggen, "een string in een char array plaatst". Ik post dus een stukje code die de TS kan gebruiken om dat doel te bereiken. Zelf een functie schrijven die "een string in een char array plaatst" door gebruik te maken van de strcpy functie heeft hetzelfde nut als de functie die CoD_NL heeft gepost. Geen, het is totaal zinloos en overbodig.


Waar ik het wel mee eens ben is dat de TS zijn vraag niet duidelijk stelt wat dus overbodige verwarring veroorzaakt.
 
De TS wist toen hij dit topic startte niet hoe hij het eerste karakter als string kon gebruiken, dat wist hij na mijn post wel. En zal de TS niet slim genoeg zijn om te bedenken dat je op de plaats zelf ook s = eenString.substr(0,1) zou kunnen schrijven? Vast wel :p

Het was mijn vraag niet hoe ik het eerste karakter van een string kon extraheren, maar gewoon hoe ik een variabele string in een array van karakters kon zetten. En ik was ook al op de hoogte van het bestaan van substr();)

Waar ik het wel mee eens ben is dat de TS zijn vraag niet duidelijk stelt wat dus overbodige verwarring veroorzaakt.

hoezo dan? Mijn vraag lijkt me vrij eenvoudig en gericht. Bovendien dat had na twee of drie reacties al aangegeven dat mijn vraag opgelost was, dus daaruit had je ook kunnen afleiden wat ik precies bedoelde.
 
@CoD_NL
Ik snap nog steeds niet waarom je in eerste instantie niet aangaf dat de functie die je postte nergens op sloeg ook al was jouw doelstelling de code van Arjan B verbeteren.

Het antwoord zal je vast niet tevreden stellen, maar het luidt: ik heb er gewoon niet bij stilgestaan.

Waar ik het wel mee eens ben is dat de TS zijn vraag niet duidelijk stelt wat dus overbodige verwarring veroorzaakt.

+1

Het was mijn vraag niet hoe ik het eerste karakter van een string kon extraheren, maar gewoon hoe ik een variabele string in een array van karakters kon zetten. En ik was ook al op de hoogte van het bestaan van substr();)

Jij weet uiteraard beter wat je wilde vragen dan ik, maar echt duidelijk was je niet:

[cpp]
/* stel nu dat eenString "hallo" is, dan zou hij 'h' moeten retouneren
iemand een idee hoe dit aan te pakken?
het is overigens geen probleem de string in te korten tot een vaste lengte. */
[/cpp]

In combinatie met de code die je erbij postte lijkt het toch echt alsof je vraagt hoe je het eerste karakter als string kunt returnen. :p

Je kunt trouwens ook nog gebruik maken van std::copy, wat op meer types bruikbaar is dan alleen strings:

[cpp]
#include <algorithm>

char buffer[50] = {0};
std::string s("hallo");
std::copy(s.begin(), s.end(), buffer);
[/cpp]
 
misschien was het wat duidelijker geweest als ik erbij had vermeld waarvoor ik de functie nodig had, maar achteraf is het altijd makkelijk praten:)

bovendien heb ik precies wat ik nodig heb dus is er niks aan de hand wat betreft de duidelijkheid van mijn vraag. In ieder geval was hij duidelijk genoeg om binnen uur uur het juiste antwoord op mijn bordje te krijgen:p

@DnB
Ik las een paar berichten geleden dat je mijn ervaring "niet echt hoog inschat". Misschien is het inderdaad (voor iedereen trouwens) handig te weten dat ik in C++ inderdaad een nieuweling ben(dwz afgelopen weekend eindelijk er in geslaagd xCode aan de praat te krijgen). Weten jullie gelijk waar mijn 'onwetendheid' vandaan komt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan