Avatar billede mr_bambi Nybegynder
01. april 2005 - 05:35 Der er 11 kommentarer og
1 løsning

Kan sprintf konvertere & til &

Hej,

Jeg har overhovedet intet forstand på funktionen sprintf, men jeg ved dog, at det har noget med formattering af strenge at gøre.
Det jeg så vil høre om, er, om sprintf kan bruges til at lave eventuelle "&" i en given streng om til "&"?

Med venlig hilsen
Bjørn
Avatar billede jaw Nybegynder
01. april 2005 - 05:47 #1
Nej, det mener jeg bestemt ikke du kan. Jeg kender dog kun PHP (og Small hvor den hedder snprintf) og i ingen af de 2 sprog kan det. Jeg har fundet PHP's udgave af sprintf til dig hvis du vil læse: http://dk.php.net/manual/da/function.sprintf.php

I Small vil versionen være f.eks.:

new Id;

new test[255];
snprintf(test, 255, "Dit id er: %s", Id);

Håber det kan hjælpe dig lidt :)
Avatar billede arne_v Ekspert
01. april 2005 - 07:55 #2
nej

printf er til formatering

du skal enten bruge en XMLm specifik funktion eller en generel replace
funktion

C har desværre ikke en generel replace funktion men her er et lille stykke
kode:

void replace(char *s,char *s1,char *s2)
{
  int i,j;
  char *tmp;
  tmp = (char *)malloc(strlen(s)+1);
  strcpy(tmp,s);
  i = 0;
  j = 0;
  while(i<strlen(tmp)) {
      if(strncmp(tmp+i,s1,strlen(s1))==0) {
        strcpy(s+j,s2);
        i=i+strlen(s1);
        j=j+strlen(s2);
      } else {
        s[j]=tmp[i];
        i++;
        j++;
      }
  }
  s[j] = '\0';
  free(tmp);
  return;
}

so kan kaldes med:

replace(s, "&", "&amp;");
Avatar billede mr_bambi Nybegynder
01. april 2005 - 08:16 #3
Hmm... Okay, så finder jeg nok ud af det på en anden måde. Tak for hjælpen.
Er man forresten helt holdt op med at lægge svar herinde? Jeg kan jo ikke komme af med mine point på denne måde ;-)

Mvh
Bjørn
Avatar billede arne_v Ekspert
01. april 2005 - 08:18 #4
:-)
Avatar billede jaw Nybegynder
01. april 2005 - 13:47 #5
For at citere Arne V i den sidste fælles tråd vi havde - "Hvornår er det blivet kotyme at give point til sidste korrekte svar fremfor første ?".

Men selv tak da :)
Avatar billede mr_bambi Nybegynder
01. april 2005 - 13:55 #6
Jamen, det er såmænd ikke for at være urimelig eller noget. Jeg var nok bare lidt for hurtig ved # og gav også pointene til ham, der havde givet det længste og mest fyldestgørende svar. Men hvis du er interesseret jaw, så kan jeg sagtens oprette et pseudospørgsmål og fiske 15 point til dig også?

Mvh
Bjørn
Avatar billede jaw Nybegynder
01. april 2005 - 13:56 #7
Nej, nej, det gør skam ikke noget... Jeg skal såmænd nok klare mig :)
Avatar billede arne_v Ekspert
01. april 2005 - 18:26 #8
jaw>

der er 3 ord i "første korrekte svar"

du var først

din kommentar er (antager jeg) 100% korrekt (*)

men jeg regnede det ikke som et svar - fordi PHP ligner ganske vist C på mange
områder, men der er også mange områder hvor PHP ikke ligner C

*) Jeg vil dog ikke sige at C sprintf hedder snprintf i Small, da C også har en
snprintf med det ekstra argument
Avatar billede jaw Nybegynder
01. april 2005 - 18:34 #9
Arne:
C ved jeg faktisk intet om, så der fører du jo nok. Men er "programmering : generelt" nødvendigvis C?

Også lige meget, dit svar er mere præcist end mit, og det er jo altid op til brugeren hvilket svar han mener besvarede hans spørgsmål... Heller ikke interesseret i at gøre noget som helst ud af det, men syntes dog heller ikke jeg kunne lade din "spydige" kommentar fra forleden dag være ukommenteret.

Og bemærk så lige at jeg afslutter med et :)
Avatar billede arne_v Ekspert
01. april 2005 - 18:51 #10
Det kan du da faktisk have ret i.

Af en eller anden grund var jeg 112% sikker på at det var et C/C++
spørgsmål.

Det må jeg undskylde og beklage.
Avatar billede arne_v Ekspert
01. april 2005 - 18:52 #11
Og hvis det var PHP sprintf så skal jeg flux oprette et point overførsels
spørgsmål til dig.
Avatar billede jaw Nybegynder
01. april 2005 - 18:53 #12
Det gør da ikke det fjerneste. Men jeg ved at jeg ikke ved noget om C/C++, så derfor ville jeg aldrig svare på det - og ville aldrig dreje et specifikt C spørgsmål over til PHP, det ville jo være direkte tosset...

Og nej, behold du bare pointene. Undskyldning er 100% accepteret :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester