Помогите перевести из С++ на С или реализовать функцию "Виризать номер телефона из СМС" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include "iostream.h"
#include <windows.h>
#include "stdafx.h"
#include "string"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian_Russia.1251");
string Test;
Test="Перезвоните на этот номер телефона: +380677753986\n";
Test.erase(0,Test.find('+380'));
printf(Test.c_str());//выводим простую строку
return 0;
}

Решение задачи: «Помогите перевести из С++ на С или реализовать функцию "Виризать номер телефона из СМС"»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main() {
 
    char str[] = "Перезвоните на этот номер телефона: +380677753986";
    char keystr[] = "+38", *p;
    size_t key_len = strlen( keystr );
 
    if ( ( p = strstr( str, keystr ) ) )
        memmove( p, p + key_len, strlen( p + key_len ) + 1 );
    else
        printf( "%s no found in ", keystr );
    puts( str );
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: iostream, stdlib, string.
  2. Объявление строки, содержащей номер телефона.
  3. Объявление строки, содержащей символ + и цифры, которые обозначают код страны.
  4. Вычисление длины строки с кодом страны.
  5. Проверка наличия кода страны в строке с номером телефона.
  6. Если код страны найден, то происходит перемещение символов в строке, чтобы номер телефона начинался с +38.
  7. Если код страны не найден, то выводится сообщение об этом.
  8. Вывод номера телефона.
  9. Возврат 0, чтобы программа завершилась успешно.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы