Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 23:16   #1
User230
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 2
По умолчанию Копирование строки в строку

В общем нужна функция, которая копирует строку в другую строку. Но надо еще добавить размер, который мы будет копировать. Так же учесть и не допустить перекрывания строк. Если честно, то препод ничего не объяснил толком, но требует эту функцию.

Вот наработки, смысл в них какой-то должен быть, если я хоть что-то правильно там сделал:

Код:
#include<conio.h>
#include<stdio.h>

int main(void)
{
    char S[100]={0};
    char M[50]={0};
    gets (S);
    gets (M);
    printf ("%d", search(S, M));
    getch();
    return 0;
}
int search(char*S, char*M, int n)
{
    int i=0;
    while(M[i]!='\0')
        if (*S-*M>0)
        {
            i++;
            return i;

            M[i]=S[i];
        }
       else M[i]=S[i];
        i--;
    i++;
    }
    return n;
}

Последний раз редактировалось User230; 02.11.2011 в 23:39.
User230 вне форума Ответить с цитированием
Старый 02.11.2011, 23:35   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

a) Такая функция уже есть и называется memcpy(). Или strncpy(), в зависимости от того, какой смысл вкладывается в "размер".
б) Для установления смысла, пожалуйста, приведите код ещё раз (на этот раз воспользовавшись тегом [CODE]), но теперь к каждой строке написав комментарий - что, по Вашему мнению, эта строка должна делать. Причём комментарии, по возможности, должны быть такими, чтобы по крайней мере Вам не казалось сложным по ним написать код снова, если его кто-нибудь сотрёт.
Abstraction вне форума Ответить с цитированием
Старый 02.11.2011, 23:50   #3
User230
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 2
По умолчанию

Abstraction, исправил. С комментариями сложнее, т.к. это делали еще несколько человек на паре. Запутались мы там короче.
User230 вне форума Ответить с цитированием
Старый 02.11.2011, 23:58   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Оно и видно. Совет: пишите комментарии, они имеют свойство изрядно экономить нервы Вам и любым читателям Вашего кода. Второй совет: называйте переменные не a, M, uK, s, t, uDr, а как-нибудь поразвёрнутей. В частности, это страхует от очень неприятных ошибок перепутанных переменных и отчасти - от неинициализированных переменных.

Всё же, напишите комментарии. Если это не получается категорически - сотрите код и для начала напишите комментариями, как Вы хотите провести копирование. Потом попробуйте под каждым комментарием написать такой код, который бы делал ровно то, что написано в комментарии.

Последний раз редактировалось Abstraction; 03.11.2011 в 00:00.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование значений поля со сдвигом на одну строку. kulon БД в Delphi 1 28.04.2011 15:48
Копирование строки с формулой Uralmaster Microsoft Office Excel 4 28.01.2011 00:19
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
функция: копирование части строки в другую строку plasticman Microsoft Office Excel 1 18.03.2009 15:30
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45