Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z użyciem funkcji strlen

Ostatnio zmodyfikowano 2016-12-30 00:32
Autor Wiadomość
kroliczysyn
Temat założony przez niniejszego użytkownika
Problem z użyciem funkcji strlen
» 2016-12-29 23:47:54
Cześć!
Mój program polega na tym, że chce pozmieniać w wyrazie podanym przez użytkownika łańcuchu znaków na losowe z wyjątkiem 2. i przedostatniej litery. Problem polega na tym, że nie wiem ile znaków będzie miał podany przez użytkownika wyraz, więc używam (a raczej chciałbym użyć) funkcji strlen, lecz nie wiem jak to zrobić. Poniżej wrzucam wklejkę z pastebina, pozdrawiam :)

No i problem z którym nie mogę sobie poradzić to kompilacja programu, nie wiem jak to naprawić.

http://pastebin.com/KfaHTK9j
P-155673
marcolo2307
» 2016-12-30 00:05:24
Wrzuć kod na forum. Próbujesz przypisać funkcji strlen wartość n. Aby pobrać wartość stringa użyj string.size()
P-155674
carlosmay
» 2016-12-30 00:07:50
1. Kod wstawiaj na forum.
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>

using namespace std;

int n;
string wyraz;

char randomChar()
{
    static char const letters[] = "abcdefghijklmnopqrstuvwxyz"
    "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return letters[ rand() %( sizeof( letters ) - 1 ) ];
}

int main()
{
    cout << "Podaj swoj wyraz" << endl;
    cin >> wyraz;
    cout << "Zmiana znakow bez 2. i przedostatniej litery." << endl;
    strlen( wyraz ) = n;
    cout << "wyraz ma: " << n << " znakow." << endl;
    srand( time( NULL ) );
    for( int i = 0; i < 1; ++i )
    {
        cout << randomChar();
    }
    for( int i = 2; i < n - 2; ++i )
    {
        cout << randomChar();
    }
    for( int i = n - 1; i < n; ++i )
    {
        cout << randomChar();
    }
    return 0;
}
2. Zmienne globalne? Fuj.
3.
strlen( wyraz ) = n;
 - a co to za ustrojstwo?
std::size_t word_len = wyraz.size();
 
http://en.cppreference.com/w​/cpp/string/basic_string
P-155675
kroliczysyn
Temat założony przez niniejszego użytkownika
» 2016-12-30 00:32:50
Poprawię się na przyszłość :) teraz śmiga. dziękuję! :)
P-155676
« 1 »
  Strona 1 z 1