/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
spml om 'string compare' - NEWBIE!
Fra : **TwN**


Dato : 17-02-03 20:34

Hej gruppe,
Jeg starter lige med at sige, at jeg er rimelig meget nybegynder til C++...!
Dette spørgsmål drejer sig om "string compare"...
Jeg så på et tidspunkt, at man ikke kan sammenligne en 'char[]' tekststreng,
hvilket jeg nu har brug for... :-/
man skulle istedet bruge 'string compare'(hvordan er det den skrives?).
Nu har jeg så leget lidt med det, men kan ikke helt finde ud af hvordan den
bruges...
er der ikke nogle der kan "skære det ud i pap" ? (et eksempel...)
Jeg skal bruge det til, hvis fil navnet er 'xxxx' skal programmet selv
indsætte tekstsrengen 'xxxxxxx' i slutningen af filen, og hvis filnavnet er
'yyyy', skal programmet selv indsætte tekststrengen 'yyyyyyy' i slutningen
af filen.

dvs. den sidste linje i filen skal ikke kunne redigeres, men hvis jeg
undlader at skrive det, kommer det ikke med... så overskriver programmet
bare filen, uden sidste linje... :-/


**TwN**



 
 
Bertel Brander (18-02-2003)
Kommentar
Fra : Bertel Brander


Dato : 18-02-03 06:14

**TwN** skrev:
> Hej gruppe,
> Jeg starter lige med at sige, at jeg er rimelig meget nybegynder til C++...!
> Dette spørgsmål drejer sig om "string compare"...
> Jeg så på et tidspunkt, at man ikke kan sammenligne en 'char[]' tekststreng,
> hvilket jeg nu har brug for... :-/
> man skulle istedet bruge 'string compare'(hvordan er det den skrives?).
> Nu har jeg så leget lidt med det, men kan ikke helt finde ud af hvordan den
> bruges...
> er der ikke nogle der kan "skære det ud i pap" ? (et eksempel...)

I C ville man bruge funktionen strcmp (#include string.h) og derved lave
noget i retning af:

#include <string.h>
#include <stdio.h>

int main(void)
{
char in[36], *s;
printf("Enter a string: ");
fflush(stdout);
fgets(in, sizeof(in), stdin); /* Read a line from the user */

if((s = strchr(in, '\n')) != NULL)
*s = '\0';
if(strcmp(in, "xxx") == 0)
printf("The input string was xxx\n");
else if(strcmp(in, "yyy") == 0)
printf("The input string was yyy\n");
else
printf("The input string was something else\n");

return 0;
}

I C++ ville man kunne bruge std::string som man kan sammenligne med direkte:

#include <string>
#include <iostream>

int main(void)
{
std::string in;

std::cout << "Enter a string: ";
std::cin >> in;

if(in == "xxx")
std::cout << "The input string was xxx\n";
else if(in == "yyy")
std::cout << "The input string was yyy\n";
else
std::cout << "The input string was something else\n";

return 0;
}

> Jeg skal bruge det til, hvis fil navnet er 'xxxx' skal programmet selv
> indsætte tekstsrengen 'xxxxxxx' i slutningen af filen, og hvis filnavnet er
> 'yyyy', skal programmet selv indsætte tekststrengen 'yyyyyyy' i slutningen
> af filen.
>
> dvs. den sidste linje i filen skal ikke kunne redigeres, men hvis jeg
> undlader at skrive det, kommer det ikke med... så overskriver programmet
> bare filen, uden sidste linje... :-/
>
Den forstod jeg ikke.

/b
--
Bertel Brander, author of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm


**TwN** (17-02-2003)
Kommentar
Fra : **TwN**


Dato : 17-02-03 22:05

"Bertel Brander" <bertel@post4.tele.dk> wrote in message
news:3e5140cb$0$11076$edfadb0f@dread12.news.tele.dk...
>
> I C++ ville man kunne bruge std::string som man kan sammenligne med
direkte:
>
> #include <string>
> #include <iostream>
>
> int main(void)
> {
> std::string in;
>
> std::cout << "Enter a string: ";
> std::cin >> in;
>
> if(in == "xxx")
> std::cout << "The input string was xxx\n";
> else if(in == "yyy")
> std::cout << "The input string was yyy\n";
> else
> std::cout << "The input string was something else\n";
>
> return 0;
> }
>

Mange tak! det var lige hvad jeg havde brug for



Søg
Reklame
Statistik
Spørgsmål : 177491
Tips : 31966
Nyheder : 719565
Indlæg : 6408458
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste