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

Ввод данных с использованием argv и argc - C++

Восстановить пароль Регистрация
 
toyi
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 65
07.06.2016, 08:38     Ввод данных с использованием argv и argc #1
не могу понять почему программа не работает
без использования ввода из командной строки работает,а так нет
подскажите пожалуйста в чём ошибка
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
 
 
char* strcpy(char* string1, const char* string2)
{
    int i=0;
    while(string2[i]!='\0')
    {
        string1[i]=string2[i];
        ++i;
        
    }
    string1[i]='\0';
    return string1  ;
}
 
char* strcop(char* string1, const char* string2)
{   
    int i;
    for (i=0; *(string2+i) != 0; i++)
    {
     *(string1++)=*(string2++);
    }
    //*string1='\0';
    return string1;
}
 
 
int main (int argc, char* argv[]) 
{
    //char St1[500]= " Takaya pervaya stroka";
    //char St2[500]= " Vot takaya vtoraya stroka";
 
    printf ("stroka1: %s\n", argv[1]);
    printf ("stroka2: %s\n", argv[2]);
 
    strcpy (argv[1],argv[2]);
    
    strcop (argv[1],argv[2]);
 
    printf ("stroka1aftercopy: %s\n", argv[1]);
    printf ("stroka2aftercopy: %s\n", argv[2]);
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2016, 08:38     Ввод данных с использованием argv и argc
Посмотрите здесь:

C++ Аргументы main(int argc, char *argv[])
C++ Объясните значение argc и argv
Argc, Argv замена C++
Argc и Argv C++
argv и argc передача аргумента(пароль) C++
argv и argc C++
Argc, argv[] C++
C++ Передать argc, argv в конструктор класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vort_
 Аватар для Vort_
186 / 186 / 52
Регистрация: 10.07.2012
Сообщений: 400
07.06.2016, 13:55     Ввод данных с использованием argv и argc #2
1. Так как параметры argv[] расположены друг за другом, то корректно скопировать вторую строку можно только в том случае, если в первой строке для этого достаточно места.
2. Реализация функции strcop() неверна.
Её можно переписать вот так:
C++
1
2
3
4
5
    int i;
    for (i = 0; *(string2 + i) != 0; i++)
        string1[i] = string2[i];
    string1[i]='\0';
    return string1;
или вот так:
C++
1
2
3
4
5
    char* string1orig = string1;
    for (; *string2 != 0; )
        *(string1++) = *(string2++);
    *string1='\0';
    return string1orig;
или как-то ещё по-другому.
Yandex
Объявления
07.06.2016, 13:55     Ввод данных с использованием argv и argc
Ответ Создать тему
Опции темы

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