Поиск:

Ответ в темуСоздание новой темы Создание опроса
> argv и argc, Ф-цию main описать при помощи argv и arg 
:(
    Опции темы
jetset
Дата 5.1.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



Необходимо ф-ию main описать при помощи argv и argc.Как ето сделать

Вот код ф-ции main :
Код

// основная программа
int main()
{

    char *p;
    int i;
    char c,*ch;

    fin=fopen("F:\\kl\\qwe.txt","rt"); 
    fout=fopen("F:\\kl\\123.txt","wt");
    strcpy(current_str,"");        
    while (!(page_type)==0)        
    {
        while (page_type==1)    
        {
            reading_string_add();    //чтение строки 
            if (str[0]!='?')        
            {    for (i=0;i<border_left;i++)     
                    fprintf(fout,"%c",' ');
                fprintf(fout,"%s\n",str);               
                                if (current_str_num>=page_height1)      
                                        N_P();
                                else current_str_num++;
            }
            else
            {    
                 p=strtok(str," ");
                if (strcmp(p,"?размер")==0) 
                {
                    p=strtok(NULL," ");
                    page_height=atoi(p);  
                    page_height1=page_height-(snoska_len+1)*otbivka;        
                    p=strtok(NULL," ");         
                    page_width=atoi(p);
                    text_width=page_width-border_left-border_right;                    
                }
                else
                {
                    p=strtok(NULL," ");         
                        if (strcmp(p,"неплотный")==0)
                            page_type=1;
                        if (strcmp(p,"плотный")==0)
                            page_type=2;
                        if (strcmp(p,"выравнивание")==0)
                            page_type=3;
    
                }
                
            }
        }

        while ((page_type==2)||(page_type==3))   
        {
            reading_string_add();     
            if (str[0]!='?')   
            {
                                word=strtok(str," ");   //вытаскиваем первое слово из строки
                 if ((strlen(current_str)+strlen(word))>text_width)     
                {
                    w_c_string(0);   
                    strcpy(current_str,word);
                }
                                else
                           strcat(current_str,word);    //  в current_str записываем слово word 
                zapis_probelov_string();         //zapis_probelov_string()-достает одно слово из строки и преписывает пробел
                while((word=strtok(NULL," "))!=NULL) 
                {
                    if ((strlen(current_str)+strlen(word))>text_width)  
                    {
                        w_c_string(0);      
                        strcpy(current_str,word);
                    }
                    else
                        strcat(current_str,word);  //добавляем к слову след слово   
                    zapis_probelov_string();   
                }
            }
            else

            {      
                p=strtok(str," ");
                 p=strtok(NULL," ");
                if ((strlen(current_str)!=0)&&(strcmp(p,"номер")!=0)&&(strcmp(p,"сноска")!=0))
                    w_c_string(1);
                if (strcmp(p,"режим")==0)
                                        c_p_type_string();
                if (strcmp(p,"размер")==0)
                                        change_page_size();
                if (strcmp(p,"абзац")==0)
                                        abz_str_ped();
                if (strcmp(p,"интервал")==0)
                                        str_otb();
                if (strcmp(p,"пропуск")==0)
                                        str_probel();
                
                
                if (strcmp(p,"номер")==0)
                                        N_P_number();
                if (strcmp(p,"страница")==0)
                                {
                                        W_E_String(page_height);
                                }
                if (strcmp(p,"остаток")==0)
                                        O_str();
                if (strcmp(p,"сноска")==0)
                                        N_snos_string();

            }
        }
                
    }

        if (strlen(current_str)!=0)     
        w_c_string(1);   
        if (current_str_num!=0)
                W_E_String(page_height);   
    fclose(fin);    
    fclose(fout);
    return 0;        
}


PM MAIL   Вверх
_hunter
Дата 5.1.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



что значит "описать"? а вообще смотри в MSDN "main function"


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
jetset
Дата 5.1.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



зделать с помощью argc , argv.Просто я не пойму как.
PM MAIL   Вверх
_hunter
Дата 5.1.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



что зделать?
+ посмотри таки справку...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
V.A.KeRneL
  Дата 5.1.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: нет
Всего: 14



jetset, можно привести простой пример, из которого, я думаю, станет понятно как с этим работать... 
Код

#include <stdio.h>

int 
main(int argc, char ** argv) 
{ 
    int i;  /* counter, index */
    
    for (i = 0; i < argc; ++i) { 
        printf("argv[%d] = %s\n", i, argv[i]);
    }
    
    return (0);
}



Это сообщение отредактировал(а) V.A.KeRneL - 5.1.2007, 15:44


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
jetset
Дата 5.1.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



Да это я понимаю что : main(int argc,char *argv[]).
Я не понимаю где они в программе должны стоять,и как сделть в моем случае smile 
помимо самой ф-ции main у меня в программе присутствуют другие ф-ции :
void reading_string_add();
void w_c_string(int last_line);
void zapis_probelov_string();
void N_snos_string();
void N_P();
void W_E_String(int n);
void zapis_snos_str();

как мне  main (в моем случае) сделать с помошью  Аргументов командной строки (argc и argv) . smile 
 smile  
PM MAIL   Вверх
_hunter
Дата 5.1.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Цитата(jetset @  5.1.2007,  15:58 Найти цитируемый пост)
Я не понимаю где они в программе должны стоять,и как сделть в моем случае

там же где и в примере...
ты немного посиди, подумай (на тему "ыто я хочу сделать"). напиши это толком...
потому как это из твоих вопросов совершенно задача не ясна...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
viluyr
Дата 5.1.2007, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



Ок понял буду разбиратца ..Спасибо .если что буду обрашатся  smile 
PM MAIL   Вверх
V.A.KeRneL
  Дата 11.1.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: нет
Всего: 14



jetset, viluyr, может этот топик ещё приглянется: VPF::[C++] Командная строка


Это сообщение отредактировал(а) V.A.KeRneL - 11.1.2007, 15:40


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.