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 fra HP
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