Форум программистов, компьютерный форум CyberForum.ru

Напишите варианты библиотечных функций strncpy, strncat и strncmp - C++

Восстановить пароль Регистрация
 
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 08:40     Напишите варианты библиотечных функций strncpy, strncat и strncmp #1
вот такая задача,
Напишите варианты библиотечных функций strncpy, strncat и strncmp, которые оперируют с первыми символами своих аргументов, число которых не превышает n. Например, strncpy(t, s, n) копирует не более n символов строки t в s. Полные описания этих функций содержатся в приложении В.

Добавлено через 8 минут
можно только функцию strncpy
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
es_
 Аватар для es_
198 / 198 / 46
Регистрация: 14.01.2013
Сообщений: 446
26.09.2013, 09:21     Напишите варианты библиотечных функций strncpy, strncat и strncmp #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Тут такие проблемы: strncpy уже существует и как раз она принимает 3 параметра. Можно конечно перегрузить этот метод, но тогда нужно либо больше параметров либо меньше. Ещё вариант назвать функцию другим именем, например strncpy1. Я вот сделал пример с 4 параметрами (первый это что копируем, второй куда, третий сколько символов копируем из первой строки, четвертый начиная с какого символа строки s вставляем символы строки t). Ну а там дальше сам доработаешь как тебе удобнее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
string strncpy(string t, char s[],int n,int t1)
{
    int i,j;
    for(i=t1,j=0;i<n+t1,j<n;i++,j++)
    {
        s[i]=t[j];
    }
    return s;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char s[20]={'н','а','ч','а','л','о'};
    strncpy("Привет!",s,3,4);
    cout<<s;
    system("PAUSE > void");
    return 0;
}
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 10:09  [ТС]     Напишите варианты библиотечных функций strncpy, strncat и strncmp #3
es_,
8 строка
между strncpy и (string t...) выдает ошибку declaration Systax error
es_
 Аватар для es_
198 / 198 / 46
Регистрация: 14.01.2013
Сообщений: 446
26.09.2013, 10:15     Напишите варианты библиотечных функций strncpy, strncat и strncmp #4
хм.. всё перекопировали?
C++
1
#include <string.h>
Это не забыли? У меня компилятор не ругается. Как вариант попробуйте переименовать strncpy
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 10:25  [ТС]     Напишите варианты библиотечных функций strncpy, strncat и strncmp #5
Цитата Сообщение от es_ Посмотреть сообщение
хм.. всё перекопировали?
C++
1
#include <string.h>
Это не забыли? У меня компилятор не ругается. Как вариант попробуйте переименовать strncpy
переписал всё, но из 4 библиотек оставил только эти:
#include <string.h>
#include <stdio.h>
с остальными ругаеться ещё больше
es_
 Аватар для es_
198 / 198 / 46
Регистрация: 14.01.2013
Сообщений: 446
26.09.2013, 10:33     Напишите варианты библиотечных функций strncpy, strncat и strncmp #6
Ну с первым понятно.. Среда разработки у тебя какая? CodeBlocks?
Но вот то, что на
C++
1
#include <iostream>
ругается.. это вряд ли, проблема в чём то другом.
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 10:37  [ТС]     Напишите варианты библиотечных функций strncpy, strncat и strncmp #7
borland c++
version 3.1
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
26.09.2013, 10:40     Напишите варианты библиотечных функций strncpy, strncat и strncmp #8
Цитата Сообщение от es_ Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
string strncpy(string t, char s[],int n,int t1)
{
* * int i,j;
* * for(i=t1,j=0;i<n+t1,j<n;i++,j++)
* * {
* * * * s[i]=t[j];
* * }
* * return s;
}
Интересно а, как это переменные char и string - работают между собой в цикле, и не ругается компилятор на несоответствие типов?

Добавлено через 2 минуты
И почему функция возвращает чаровую переменную, хотя сама функция стринговая, я чего-то не знаю, может дадите статьи по этому поводу?
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 10:40  [ТС]     Напишите варианты библиотечных функций strncpy, strncat и strncmp #9
Цитата Сообщение от Нету имени Посмотреть сообщение
Интересно а, как это переменные char и string - работают между собой в цикле, и не ругается компилятор на несоответствие типов?

нет только одну ошибку выдает в 8 строке declaration Systax error
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
26.09.2013, 10:42     Напишите варианты библиотечных функций strncpy, strncat и strncmp #10
Цитата Сообщение от Tolib1 Посмотреть сообщение
borland c++
version 3.1
Цитата Сообщение от es_ Посмотреть сообщение
#include "stdafx.h"
Цитата Сообщение от es_ Посмотреть сообщение
#include <iostream>
в висуал студио многие библиотеки вшиты в одну, тоесть
#include <string> в которой хранится обьект std::string , вшит в #include <iostream>
я так думаю в борланде такого нету, попробуйте подключить библиотеку, #include <string>
Tolib1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
26.09.2013, 10:43  [ТС]     Напишите варианты библиотечных функций strncpy, strncat и strncmp #11
еще в 6 строке между namespace и std, такая же
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 11:03     Напишите варианты библиотечных функций strncpy, strncat и strncmp
Еще ссылки по теме:

БЕЗ использования библиотечных функций C++
Аналог strncpy и strncmp для типа string C++
Строки и использование библиотечных функций для их обработки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
26.09.2013, 11:03     Напишите варианты библиотечных функций strncpy, strncat и strncmp #12
Цитата Сообщение от Tolib1 Посмотреть сообщение
еще в 6 строке между namespace и std, такая же
попробуйте в онлайн-компиляторе скомпилировать, если там всё нормально, значит дело в борланде
Yandex
Объявления
26.09.2013, 11:03     Напишите варианты библиотечных функций strncpy, strncat и strncmp
Ответ Создать тему
Опции темы

Текущее время: 15:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru