Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Функция MAIN()

19K
11 октября 2006 года
Настя
7 / / 11.10.2006
MAIN может принимать 3 параметра, один из которых - массив строк, то есть:
char **string;

Кто знает, как из этого массива извлечь значения строк (у меня их должно быть две)?
294
11 октября 2006 года
Plisteron
982 / / 29.08.2003
Если имеется в виду int main(int arch, char **argv, char *envp), то можно сделатьтак:
 
Код:
int main(int argc, char **argv, char *envp)
{
    int i;
    for(i = 1; i < argc; i++) // argv[0] нас не интересует, потому что это имя exe-шника
        cout << argv << endl; // выводим параметры по одному в строке
}

Кнопка F1 здесь рулит как никогда.
19K
11 октября 2006 года
Настя
7 / / 11.10.2006
Да, спасибо, это то, что нужно!

И в продолжении темы: если мне не нужен третий параметр, который принимает ф-ция main (char *envp) (я вообще не знаю зачем он нужен), его можно просто не писать?

И ещё: как считать с файла матрицу чисел (я думала, сначала как строку, а потом разбить её на цифры - но это долго, а можно ли как нибудь полегче)?
547
11 октября 2006 года
Hydra
488 / / 20.06.2006
fscanf(file,"%f",&f) + вложенный цикл + кнопка F1, и будет вам счастье
240
11 октября 2006 года
aks
2.5K / / 14.07.2006
[QUOTE=Plisteron]
for(i = 1; i < argc; i++) // argv[0] нас не интересует, потому что это имя exe-шника
[/QUOTE]
в общем случае это имя исполняемого файла - не обязательно exe-шника. Хотя в Borland C++ Builder всеже так =)

Цитата:

И ещё: как считать с файла матрицу чисел (я думала, сначала как строку, а потом разбить её на цифры - но это долго, а можно ли как нибудь полегче)?


Вобще всетаки лучше считывать сразу побольше - ну хотябы целиком строку, если она достаточно большая.
Во первых обращение к диску (файлу) медленная операция, намного медленней чем обращение к строке в памяти. И потом полно полезных функций который помогут разобрать строку.

294
11 октября 2006 года
Plisteron
982 / / 29.08.2003
[QUOTE=Настя]Да, спасибо, это то, что нужно!

И в продолжении темы: если мне не нужен третий параметр, который принимает ф-ция main (char *envp) (я вообще не знаю зачем он нужен), его можно просто не писать?

И ещё: как считать с файла матрицу чисел (я думала, сначала как строку, а потом разбить её на цифры - но это долго, а можно ли как нибудь полегче)?[/QUOTE]
1) Можно. А можно строкой выше добавить: #pragma argsused

2) Можно, как предложил(а) Hydra, fscanf() в цикле, если значения разделены, скажем, запятой, а можно лениво поразбивать приблизительно так:
 
Код:
TStringList *all = new TStringList;
all->LoadFromFile("...");
TStringList *dell = new TStringList;
dell->DelimitedText = all->Text;
int l = dell->Count;
double double_array = new double[l];
for(int i = 0; i < l; i++)
    double_array = dell->Strings.ToDouble();
delete dell;
delete all;

и дальше используем дабловый массив.

Код не тестировал, поэтому возможны ошибки.
19K
11 октября 2006 года
Настя
7 / / 11.10.2006
Всем спасибо, сейчас попробую, посмотрю, что получится!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог