11. januar 2004 - 16:42
Der er
11 kommentarer og 1 løsning
sammenkobling af 2 variabler
Jeg har programmeret C/C++ for nogen tid nu, man har aldrig fundet ud af om hvordan man laver en "sammenkobling". Skrevet the-php-way: char test = " på exp.dk "; char blah = "Dette er en test" . test . "!"; Resultatet: "Dette er en test på exp.dk !" Hvordan gør jeg dette med C?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
11. januar 2004 - 16:51
#1
#include <iostream> #include <cstdlib> #include <string.h> using namespace std; int main() { char a[10]="hej "; // Der skal være plads til begge char b[]="hej"; strcat(a, b); cout<<a<<endl; system("pause"); return 0; }
11. januar 2004 - 16:52
#2
Mit output er osv. er lavet til C++ men strcat(); og string.h er C
11. januar 2004 - 16:54
#3
arr..! Jeg kunne ikke se skoven for bare træer.
11. januar 2004 - 16:54
#4
Opret Svar!
11. januar 2004 - 16:55
#5
strcat() der er i string.h tager 2 char arrays som argument. Disse 2 vil så blive samlet i det du skrev først. Og så lige en rettelse til ovenstående kode: #include <iostream> #include <cstdlib> #include <string.h> using namespace std; int main() { char a[]="hej "; char b[]="hej"; strcat(a, b); cout<<a<<endl; system("pause"); return 0; } Du behøver ikke angive en størrelse på det array det hele skal samles i ser det ud til.
11. januar 2004 - 16:55
#6
svar
11. januar 2004 - 16:58
#7
Brug akanys første løsning - den anden løsning forkert og vil kunne give meget grimme overskrvings fejl !
11. januar 2004 - 17:09
#8
#include <iostream> #include <string> #include <cstdlib> #include <cstring> using namespace std; void cgood() { char a[10] = "abc"; char b[] = "def"; strcat(a, b); cout << a << endl; cout << b << endl; } void cbad1() { char a[] = "abc"; char b[] = "def"; strcat(a, b); cout << a << endl; cout << b << endl; } void cbad2() { char b[] = "def"; char a[] = "abc"; strcat(a, b); cout << a << endl; cout << b << endl; } void cpp() { string a = "abc"; string b = "def"; a += b; cout << a << endl; cout << b << endl; } int main() { cgood(); cbad1(); cbad2(); cpp(); return 0; }
11. januar 2004 - 17:10
#9
Nå så havde jeg ret. Testede bare anden og det gik godt så... Men mente nok første var mest rigtig
11. januar 2004 - 17:10
#10
Output fra cbad1 og cbad2 er principielt unpredictable men GCC 3.1 og BCB 5.5 giver: abcdef def abcdef def abcdef ef abcdef def
11. januar 2004 - 17:24
#11
Tog nok en lidt forhastet konklusion, da det gik godt den ene gang jeg testede anden kode. Så passer alt det med den første indskydelse endnu engang :)
11. januar 2004 - 18:10
#12
Det var nu mere funktionen "strcat" jeg midlertidig have glemt, akany gav mig finger peget jeg manglede.. Tak...
Kurser inden for grundlæggende programmering