Язык начал изучать не давно...
Задача:
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Составить программу для замены в строке длиной К символов всех пробелов на символ $.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string st;
cout<<"Vvedite stroky: ";
cin>>st;
for (int i=0; i < strlen(st); i++)
if (st[i]=' ')
{
st[i]='$';
}
cout<<"Vivod itogovoi stroki: \n";
cout<<st;
system("PAUSE");
return 0;
}
...
string st;
cout<<"Vvedite stroky: ";
getline(cin, st);
replace(st.begin(),st.end(), ' ', '$');
cout << "Vivod itogovoi stroki: \n";
cout << st << endl;
...
А можешь еще объяснить почему i < strlen(st); не работало?
Потому что strlen - это С-шная функция, работающая с const char *, а у тебя C++ и кроме этого - std::string... В крайнем случае можно было бы strlen применять не к самой st, а к st.c_str(), вот этот метод возвращает строку в стиле С - то есть, в виде const char *, но зачем? Ты же убедился, что есть более подходящие методы для обработки строк...
Ага, спасибо!