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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yapechenko
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 22
#1

Скопировать из одного символьного массива в другой, начиная с определенной позиции - C++

29.08.2013, 21:01. Просмотров 1084. Ответов 4
Метки нет (Все метки)

Добрый вечер. Столкнулся с проблемой:
Имеется:
C++
1
2
char buffer[256] = "We are the champions";
char word[256] = " ";
Мне надо скопировать в word из buffer все символы начиная с 13 позиции.
Помогите это реализовать, а то я что-то сообразить не могу. Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2013, 21:01     Скопировать из одного символьного массива в другой, начиная с определенной позиции
Посмотрите здесь:

Как скопировать символ из символьного массива в другой массив - C++
Есть массив s и r в обоих по 8 символов + \0 (окончание строки). В s есть символ "т", как его скопировать, например, в r? Проблема в...

Установить в целом числе биты в ноль, начиная с определенной позиции - C++
Доброго времени суток. Помогите пожалуйста с заданием: Заранее благодарен за помощь.

Вставка в строку другой строки, начиная с заданной позиции - C++
class String { protected: char*str;//Указатель на массив символов int size;//Длина строки int num;//Кол-во символов в строке ...

Как скопировать из одного файла в другой? - C++
не понимаю, как копирование можно задать в коде #include "iostream.h" #include "fstream.h" #include "conio.h" int main() { ...

Скопировать содержимое одного файла в другой - C++
Прошу помочь мне разобраться в составлении данной программы. Условие:Скопировать содержимое одного файла в другой, исключая все слова,...

Скопировать данные с одного файла и записать в другой - C++
написать программу которая копирует данные из одного файла в другой лишь те символы чей код больше или рааен 77. помогите написать если...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
29.08.2013, 21:07     Скопировать из одного символьного массива в другой, начиная с определенной позиции #2
Цитата Сообщение от yapechenko Посмотреть сообщение
Мне надо скопировать в word из buffer все символы начиная с 13 позиции.
C++
1
strcpy( word, buffer + 12 );
yapechenko
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 22
29.08.2013, 22:26  [ТС]     Скопировать из одного символьного массива в другой, начиная с определенной позиции #3
MrCold,
Программа берет строчку и выделяет в ней комментарий(все что дальше 16 позиции) и так пока файл не закончится.
Если у меня ни чего после 16 позиции нет, то он должен выводить пустоту(или что?),а у меня он выводит все что после 16 позиции с предшествующих строк. Где ошибка?
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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <iostream>
char comment[100] = " ";
char buffer[256] = " ";
char filename[] = "3.asm";
int main()
{
    FILE *file;
    file = fopen(filename,"r");
    while (fgets(buffer,sizeof(buffer),file))
    {
        strcpy(comment, buffer + 16 );
        std::cout<<"Buffer:"<<buffer<<std::endl;
        std::cout<<"Comment:"<<comment<<std::endl;
        std::cout<<"//////////////////////////"<<std::endl;
        for (int j = 0; j < sizeof(comment); j++) comment[j] = '\0'; //Обнуляем массив comment
        
    }
system ("pause");
return 0;
}
3.asm
Assembler
1
2
3
4
5
6
7
8
9
10
11
      BEGIN 1000
FIRST LDA   KC
      MUL   KD    Comment1
      ADD   KB
      STA   PA    Comment
      HLT
PA    RW   1
KB    DW   2
KC    DW   3
KD    DW   4
      END FIRST   Comment5
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
29.08.2013, 23:01     Скопировать из одного символьного массива в другой, начиная с определенной позиции #4
Цитата Сообщение от yapechenko Посмотреть сообщение
Если у меня ни чего после 16 позиции нет, то он должен выводить пустоту(или что?)
Ну вам виднее что выводить . Напишите что комментарий отсутствует

C++
1
2
3
4
5
6
7
8
9
10
11
   while (fgets(buffer,sizeof(buffer),file))
    {
        if( strlen(buffer) < 16)
            strcpy(comment, " Comment is absent" );
        else
            strcpy(comment, buffer + 16 );
 
        std::cout<<"Buffer:"<< buffer<<std::endl;
        std::cout<<"Comment:"<< comment<<std::endl;
        std::cout<<"//////////////////////////"<<std::endl;       
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2013, 23:04     Скопировать из одного символьного массива в другой, начиная с определенной позиции
Еще ссылки по теме:

Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции - C++
Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции.При...

Скопировать часть одного вектора в другой, в обратном порядке - C++
как скопировать часть одного вектора в другой, при этом отсчет с конца V1 = 1,2,3,4,5 v2 должен ровняться 5,4,3

Из одного файла скопировать в другой не удаляя содержимое второго и вывести на экран - C++
Помогите пожалуйста с задачей, на вид простенькая, но не знаю что делать из одного файла скопировать в другой не удаляя содержимое...

Скопировать текст из одного файла в другой, добавляя порядковый номер строки и количество символов в ней - C++
Помогите с задачей, пожалуйста!!!:) спасибо заранее! Описать функцию Lines(FileIn, FileOut), которая считывает из входного файла...

Работа с файлами (Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины) - C++
Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины. Помогите пожалуйста с решением.

Скопировать один элемент в другой в рамках такого массива - C++
скажите, плиз, кто-нибудь, как перекочевать, то бишь, скопировать один элемент в другой в рамках такого массива? char *name;


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

Или воспользуйтесь поиском по форуму:
icpu
321 / 226 / 43
Регистрация: 10.03.2011
Сообщений: 1,091
Записей в блоге: 2
29.08.2013, 23:04     Скопировать из одного символьного массива в другой, начиная с определенной позиции #5
Или обнулять строку в конце каждой итерации цикла
C++
1
memset(buffer,0,sizeof(char)*256);
Yandex
Объявления
29.08.2013, 23:04     Скопировать из одного символьного массива в другой, начиная с определенной позиции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru