Toon posts:

[C] Tekst aanpassen in char.

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik ben onder linux bezig met een applicatie zie een configuratie bestand moet aanpassen.
Hij mou een complete lijn kunnen wijzigen of verwijderen.
Ik heb op internet zitten zoeken maar zie meer PHP topics dan C topics.

Ik heb de volgende test code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main(int argc, char *argv[])
{
    
    char *zin;

    zin = "Hele dag op www.tweakers.net surfen!";

    printf("Mijn motto is: %s\n", zin);
    
    return 0;
}


Ik zou graag www.tweakers.net willen vervangen door gathering.tweakers.net.

Ik heb verschillende opties geprobeerd zo als hier al eens eerder op de forum is geplaats maar helaas werkte dat niet, mischien omdat ik daar nog te newbie voor ben met C.

Verwijderd

C#:
1
2
string s = "Hele dag op www.tweakers.net surfen";
s = s.Replace("www", "gathering");

[ Voor 27% gewijzigd door Verwijderd op 10-02-2004 19:28 ]


Verwijderd

Topicstarter
Heb ik al geprobeerd maar krijg steeds errors:

beta.c:8: error: `string' undeclared (first use in this function)
beta.c:8: error: (Each undeclared identifier is reported only once
beta.c:8: error: for each function it appears in.)
beta.c:8: error: parse error before "s"
beta.c:9: error: `s' undeclared (first use in this function)

En heb #include <string.h> bij de includes gezet!

Verwijderd

waarom trouwens een char. Ik kijk nu naar je source...uh.. is niet echt C# zie ik wat je daar hebt. Zoek heel even op google naar de string replace functie van C++ >:)

Maar van die char een string en gebruik een replace functie.

[ Voor 36% gewijzigd door Verwijderd op 10-02-2004 19:29 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

Uhm dit is C code, geen C# en ook geen C++
Verwijderd schreef op 10 februari 2004 @ 19:10:
Ik zou graag www.tweakers.net willen vervangen door gathering.tweakers.net
Dat moet toch niet zo moeilijk zijn? Zoek naar de positie van "www.tweakers.net" in je grotere string (dit noemen we even pos), en maak dan een nieuwe string die bestaat uit het begin van je oude string tot pos, daarna je vervangende string, en daarna de rest van de oude string (dus vanaf pos + de lengte van "www.tweakers.net")

Waarmee je deze positie kunt vinden enzo kun je vinden in de documentatie, onder het kopje strings

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* string.cpp by detour@metalshell.com
 *
 * Example on using the string class from the STL.
 *
 * http://www.metalshell.com/
 *
 */

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

int main() {
    string str;
    string str2;

    /* You can assign values using normal = operator */
    str = "Jimi Thing\n";
    str2 = "Jimi Thing\n";

    /* Can be compared against other strings */
    if(str == str2)
        cout << str;

    cout << "The length of str is: " << str.length() << endl;
    
    /* You pull text out of the string using substr */
    str2 = str.substr(0,4) + "\n";

    cout << "str2 = " << str2;
    
    /* Notice Jimi gets replace with Little even though Little is longer then
       Jimi */
    str.replace(0,4,"Little");

    cout << "str = " << str;

    /* C Strings are null terminated areas of characters */
    printf("str = %s", str.c_str());

    /* First occurance of Little is stored in p1 */
    string::size_type p1 = str.find("Little");
    /* Replace the first Little found with Jimi */
    str.replace(p1, 6, "Jimi");

    cout << "str = " << str;

    /* Another way to turn it back */
    str.replace(str.find("Jimi"),4,"Little");
    cout << "str = " << str;

    /* If erase is given no arguments the whole string is cleared */
    str.erase();

    cout << "str = " << str;

    return 0;
}


Gevonden op Google.
Alleen krijg ik weer de zelfde errors!

-> string heb ik string.h van gemaakt en die iostream verwijdert

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja bla, ga eerst eens een cursus C doen ofzo. Wat je nu gebruikt is C++, geen C, dus je bent maar wat aan het prutsen.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.