Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами

Twitosha

Дана строка символов. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами.
9 ответов

Twitosha

см. функцию isalnum


Twitosha

Пример покажи.


Twitosha

гугль в помощь


Twitosha

Кудаив, там не все понятно. можно хотя бы само условие?


Twitosha

#include <cctype>
#include <iostream>
 
int main()
{
     char* str = "jhgjt jhj|/7=~";
     while(*str)
        if(isalnum(*str))
           std::cout<<*str++;//выводятся только цифры и буквы
return 0;
}


Twitosha

Кудаив, выводит только ту часть текста, что стоит перед пробелом. а остальное как будто не видит. как исправить?


Twitosha

Twitosha, предположу
#include <cctype>
#include <iostream>
 
int main()
{
     char const* str = "jhgjt jhj|/7=~";
     for ( ; *str; ++str)
        if(isalnum(*str))
           std::cout<<*str;//выводятся только цифры и буквы
 
return 0;
}


Twitosha

#include <iostream>
#include <Windows>
#include <stdio.h>
#include <ctype.h>
 
using namespace std;
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char s[80];
int i,k;
gets(s); //ввод строки.
k = 0;
for(i = 0; i < strlen(s); i++)
{
if(isalnum(s[i])) cout << s[i];
}
system("PAUSE");
}


Twitosha

Bend3r, спасибо огромное) все работает и все понятно)