Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Простенький вопрос


Автор: guest123 17.5.2004, 20:22
Доброго время суток.
Хотел бы задать простенький вопрос.
Из ком. строки читаются параметры argv. Допустим один из них равен
'12' каким образом перевести его в целочисленный тип данных(в число двенадцать) и проверить можно ли это сделать(т.е не введено ли 'asd32').
Заранее спасибо.

Автор: shedon 17.5.2004, 20:49
atoi

Автор: vozamlA 17.5.2004, 21:06
Цитата(shedon @ 17.5.2004, 20:49)
atoi

Спасибо большое.

Автор: guest123 18.5.2004, 05:06
Еще один простой вопрос как обнулить массив символов.(char* arr1;)

Автор: guest123 18.5.2004, 05:13
Всмысле что бы он снова был пустой.

Автор: chipset 18.5.2004, 06:05
Код
for(int i=0;i<=nSize;i++) *(arr1+i)=NULL;

Это если ты просто хочешь чтобы в нем были нули, если же ты хочешь смести его на .. делай так:
Код
delete arr1;

Автор: dargaard 18.5.2004, 06:16
Цитата
Еще один простой вопрос как обнулить массив символов.(char* arr1;)

memset(arr1,0x0,_size);

где _size - размер arr1.

Автор: chipset 18.5.2004, 06:25
Мой код более мобильный;)

Автор: dargaard 18.5.2004, 06:50
chipset
Чем это он более мобильный?

Автор: chipset 18.5.2004, 07:00
Он не использует stdlib smile.gif

Автор: sergejzr 18.5.2004, 15:12
Код
*arr1=0;

smile.gif

Автор: Anklav 18.5.2004, 17:50
Цитата
Он не использует stdlib

Почему не использует? Ещё как использует. Просто это скрыто от глаз.

Автор: atamur 19.5.2004, 11:16
sergej.z:

Код
*arr1=0;
--------------------
_______________________________________
После такого (arr1[0] == 0) а (arr1[1] != 0) !!!

Автор: sergejzr 19.5.2004, 14:07
atamur
Для обнуления строки символов этого достаточно. По стандарту любая функция читает символы до нуля. Если первый символ ноль, то соответственно длинна строки ноль. То есть все символы после первого будут проигнорированы. Таким образом пропадает смысл их менять.

PS: Когда удаляется файл, все его значения тоже не заполняются нулями.

Автор: Guest 20.5.2004, 22:12
Подскажите пожалуйста.
Как узнать размерность массива??

Автор: dargaard 20.5.2004, 22:19
лучше всего помнить ее. для windows можно использовать nSize = _msize(arr1); - для дин массива или nSize = sizeof(arr1); - для статического

Автор: Guest 20.5.2004, 22:27
Спасибо сразу еще вопросик,
как с помощью функции rand() перемешать в слове буквы в произвольном порядке.

Автор: Guest 20.5.2004, 22:30
Или подскажите более удобную функцию псевдо сл. чисел.
заранее спасибо.

Автор: Anklav 20.5.2004, 22:33
Если у тебя массив определён примерно так:
int a[10];
тогда его размер можно определить:
int array_size = sizeof(a) / sizeof(int);

Но вот если ты его определяешь с помощью указателя:
int *a;
a = new int[10];

то его размер таким способом не определишь, и другого способа нет (ну почти нет).

Извиняюсь - опоздал с ответом

Автор: Coocky 20.5.2004, 23:23
Цитата
Подскажите пожалуйста.
Как узнать размерность массива??

только через
Код
sizeof( Массив);
... biggrin.gif В байтах wink.gif
Пардон,не перелистнул страницы tounge.gif

Автор: Guest 20.5.2004, 23:44
Может кто про rand расскажет??

Автор: Coocky 20.5.2004, 23:53
Включи библиотеки <stdlib.h> и <time.h>
Напиши srand(time(NULL));(это будет гарантировать что при каждом запуске прги числа будут разные)

rand()%10 например буде вовращать числа от 0 до 11,т.к возр. от 0 до n+1;

Автор: Coocky 21.5.2004, 00:07
Цитата
как с помощью функции rand() перемешать в слове буквы в произвольном порядке

Если ты про это то много способов Смотря для какой ситуации.Я часто "тасую".
Код
char a[32]={а ,б,в,г...};
srand(time(NULL));
int temp;
int m;=rand()%32+1;
for (inti=0;i<m;i++)
{
temp=a [i];a[i]=a[m];a[m]=temp;
}

Что-то типа этого.Если в кодн ошибка - прошу извинить.Давно писал...Не помню,а времени сидеть в инет клубе нет(деньги.деньги.деньги... biggrin.gif ) ну принцип ты понял; wink.gif

Автор: Guest 21.5.2004, 00:16
Мне бы надо чтобы он генерировал числа от 0 до N , и что бы они не одинаковые были.
Щас попробую по покрутить ее.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)