Как очистить переменную в c
Перейти к содержимому

Как очистить переменную в c

  • автор:

Как очистить переменную в c

Простите за примитивный вопрос, но как очитить перменную типа char ?
Пробовал по-разному извращаться, но не получается

Re: Очистить переменную char

От: Анатолий Широков
Дата: 19.08.04 12:18
Оценка: 3 (1) +1

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается

А можно посмотреть вариаты?

Re: Очистить переменную char

От: Glоbus
Дата: 19.08.04 12:18
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается

А че значит очистить. можно вызвать char() — тогда туда будет записано некоторое дефолтное «нулевое» значение.

Удачи тебе, браток!
Re: Очистить переменную char

От: ChipSet2k http://merlinko.com
Дата: 19.08.04 12:19
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается
char с = ‘\0’;

«Всё что не убивает нас, делает нас сильнее. »
Re: Очистить переменную char

От: _nn_ www.nemerleweb.com
Дата: 19.08.04 12:23
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается
А что означает очистить ?

Re[2]: Очистить переменную char

От: trustno1
Дата: 19.08.04 12:33
Оценка:

Здравствуйте, Анатолий Широков, Вы писали:

АШ>Здравствуйте, trustno1, Вы писали:

T>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>Пробовал по-разному извращаться, но не получается

АШ>А можно посмотреть вариаты?

1. varb = ‘\0’;
2. memset(varb,0,sizeof(varb));
3. varb = «»;

Re[2]: Очистить переменную char

От: trustno1
Дата: 19.08.04 12:35
Оценка:

Здравствуйте, Glоbus, Вы писали:

G>Здравствуйте, trustno1, Вы писали:

T>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>Пробовал по-разному извращаться, но не получается

G>А че значит очистить. можно вызвать char() — тогда туда будет записано некоторое дефолтное «нулевое» значение.

не выходит, пишет, что не может переконвертить чар[1] в чар[100]

Re[3]: Очистить переменную char

От: _nn_ www.nemerleweb.com
Дата: 19.08.04 12:35
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Здравствуйте, Анатолий Широков, Вы писали:

АШ>>Здравствуйте, trustno1, Вы писали:

T>>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>>Пробовал по-разному извращаться, но не получается

АШ>>А можно посмотреть вариаты?

T>char[100] varb;

T>1. varb = ‘\0’;
T>2. memset(varb,0,sizeof(varb));
T>3. varb = «»;

char varb[100]=""; // или char varb[100]; strcpy(varb,""); // или char varb[100]; varb[0]=0;

P.S.
Вам стоит прочитать про массивы и строки в С.

Re: Очистить переменную char

От: BArt
Дата: 19.08.04 12:36
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается

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

P.S. Извините за юмор.

Re[2]: Очистить переменную char

От: _nn_ www.nemerleweb.com
Дата: 19.08.04 12:37
Оценка:

Здравствуйте, BArt, Вы писали:

BA>Здравствуйте, trustno1, Вы писали:

T>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>Пробовал по-разному извращаться, но не получается

BA>Предлагаю совершить над ней заклинание exorcism, для этого нужно сказать пару матерных слов в ее адрес,
Вроде этого

Автор:
Дата: 02.06.04

?
BA>потом можно считать ее чистой. А в коде писать ничего не нужно.

BA>P.S. Извините за юмор.

Re: Очистить переменную char

От: Apapa
Дата: 19.08.04 12:38
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>Пробовал по-разному извращаться, но не получается

Переменная типа char — это число размеров в один байт.
Т.к. это просто число, то оно ОБЯЗАНО принимать какое-то значение либо от 0 до 255 (если по-умолчанию char беззнаковый), либо от -128 до 128 (если знаковый).

«Очистить переменную char» само по себе лишино смысла.
Другое дело, если это некоторая необходимость в программе. Т.е. требуется, чтобы в определенной ситуации данная переменная была «помечена» как чистая.
В этом случае можно поступить двояко. Либо выделить специальное значение, которое будет обозначять очищенную переменную (например, 0x80 == -128 для знакового char), либо дополнить char до большего типа или до структуры, где кроме самого значения хранить еще признак того, инициализирована переменная или нет (может Вы, например, так ошибки ищете).

В любом случае, следует пояснить для чего Вам это нужно.

Здесь могла бы быть Ваша реклама!
Re[3]: Очистить переменную char

От: Chez
Дата: 19.08.04 12:40
Оценка:

Здравствуйте, trustno1, Вы писали:

T>Здравствуйте, Анатолий Широков, Вы писали:

АШ>>Здравствуйте, trustno1, Вы писали:

T>>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>>Пробовал по-разному извращаться, но не получается

АШ>>А можно посмотреть вариаты?

T>char[100] varb;

T>1. varb = ‘\0’;
T>2. memset(varb,0,sizeof(varb));
T>3. varb = «»;
4. VariantClear()

А если серьезно

varb[0]='\0'; // только строчку char[100] varb; // надо заменить на char varb[100];

Chez, ICQ# 161095094
Re[4]: Очистить переменную char

От: Chez
Дата: 19.08.04 12:43
Оценка:

Здравствуйте, _nn_, Вы писали:

Плохо думать, еще хуже думать что ты думаешь , но самое хучшее когда кто-то думает что ты думаешь.

Хуже всего думать о чём же ты думаешь.
Chez, ICQ# 161095094
Re[4]: Очистить переменную char

От: trustno1
Дата: 19.08.04 12:46
Оценка:

Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, trustno1, Вы писали:

T>>Здравствуйте, Анатолий Широков, Вы писали:

АШ>>>Здравствуйте, trustno1, Вы писали:

T>>>>Простите за примитивный вопрос, но как очитить перменную типа char ?
T>>>>Пробовал по-разному извращаться, но не получается

АШ>>>А можно посмотреть вариаты?

T>>char[100] varb;

T>>1. varb = ‘\0’;
T>>2. memset(varb,0,sizeof(varb));
T>>3. varb = «»;

__>А вот так :
__>

__>char varb[100]=""; __>// или __>char varb[100]; __>strcpy(varb,""); __>// или __>char varb[100]; __>varb[0]=0; __>

__>P.S.
__>Вам стоит прочитать про массивы и строки в С.

спасибо, разобрался
да, читать надо

Re[5]: Очистить переменную char

От: _nn_ www.nemerleweb.com
Дата: 19.08.04 12:58
Оценка:

Здравствуйте, Chez, Вы писали:

C>Здравствуйте, _nn_, Вы писали:

C>

C>Плохо думать, еще хуже думать что ты думаешь , но самое хучшее когда кто-то думает что ты думаешь.

C>Хуже всего думать о чём же ты думаешь.

Я вас не понял
То что я написал как раз и нужно было.

В чем выражается ваша притензия ?

Re[6]: Очистить переменную char

От: Chez
Дата: 19.08.04 13:07
Оценка:

Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, Chez, Вы писали:

C>>Здравствуйте, _nn_, Вы писали:

C>>

C>>Плохо думать, еще хуже думать что ты думаешь , но самое хучшее когда кто-то думает что ты думаешь.

C>>Хуже всего думать о чём же ты думаешь.

__>Я вас не понял
__>То что я написал как раз и нужно было.
__>В чем выражается ваша притензия ?
Никакой претензии.
Это мой комментарий к Вашему футеру в топиках. Очень он мне понравился.

P.s. Если вы восприняли на свой счёт, то я даже не пробовал думать, о чём же ты думаешь, поэтому не знаю, плохо это, или хорошо.

Chez, ICQ# 161095094
Re[7]: Очистить переменную char

От: _nn_ www.nemerleweb.com
Дата: 19.08.04 13:12
Оценка:

Здравствуйте, Chez, Вы писали:

C>Здравствуйте, _nn_, Вы писали:

__>>Здравствуйте, Chez, Вы писали:

C>>>Здравствуйте, _nn_, Вы писали:

C>>>

C>>>Плохо думать, еще хуже думать что ты думаешь , но самое хучшее когда кто-то думает что ты думаешь.

C>>>Хуже всего думать о чём же ты думаешь.

__>>Я вас не понял
__>>То что я написал как раз и нужно было.
__>>В чем выражается ваша притензия ?
C>Никакой претензии.
C>Это мой комментарий к Вашему футеру в топиках. Очень он мне понравился.
Спасибо

C>P.s. Если вы восприняли на свой счёт, то я даже не пробовал думать, о чём же ты думаешь, поэтому не знаю, плохо это, или хорошо.

Ну тогда прошу прощения, я вас не понял правильно

Как удалить переменную в C++? [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 11 месяцев назад .
Мне хотелось бы чтобы я мог удалить переменную Y и объявить ее заново. У меня есть код:

#include using namespace std; int main() < int Y = 1; // Здесь переменной Y уже не должно существовать. int Y = 12; // Здесь переменной Y уже не должно существовать. string Y = "hello!"; cout

Я пробовал помещать переменную в <> , но тогда она не доступна за ее пределами. Есть ли способы реализовать такое с доступом во всей функции?

Отслеживать
2,314 2 2 золотых знака 11 11 серебряных знаков 39 39 бронзовых знаков
задан 10 мар 2023 в 7:09
47 5 5 бронзовых знаков

Так а в чем проблема с областью видимости < >? Если переменная уже не должна существовать то о каком доступе во всей функции может идти речь? А вообще зачем это? Чтобы запутать и себя и других?

10 мар 2023 в 7:13
Вы ведь уже об этом спрашивали, но не объяснили, для чего это вам нужно.
10 мар 2023 в 7:15
Если честно я сам не знаю зачем, мне просто очень очень очень интересно.
10 мар 2023 в 7:16

Может быть, вам нужен язык с динамической типизацией. Однако переиспользование переменных ни к чему хорошему не приведёт

10 мар 2023 в 7:18
Во время написания этого вопроса ни одна переменная не пострадала :)
10 мар 2023 в 7:20

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Так а в чем проблема с областью видимости < >? Если переменная уже не должна существовать то о каком доступе во всей функции может идти речь? А вообще зачем это? Чтобы запутать и себя и других?

int main() < < int Y = 1; >// Здесь переменной Y уже не должно существовать - выполнено! < int Y = 12; >// Здесь переменной Y уже не должно существовать - выполнено! string Y = "hello!"; // здесь у Y видимость до конца функции. cout

В С/С++ статическая типизация - однажды объявленная переменная не меняет свой тип. Это помогает не допускать ошибок.

Как сделать переменную пустой (обнулить)?

Author24 — интернет-сервис помощи студентам

Пишу простейшего миллионера, вариантом ответа на вопросы которого является переменная типа Int.

Проблема в том, что отвечая на один вопрос, значение остается и при следующем вопросе
Вопрос - Как сделать ее пустой в опр. месте?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как обнулить переменную типа stringstream
использую stringstream для преобразования переменных в string stringstream sst; sst << 123456;.

Как обнулить переменную
Сам знаю, что вопрос глупый, но никак не могу найти решение. В C# для этого используется ключевое.

Как обнулить переменную после ее обработки
Скажите , как можно удалить после присвоения переменную вот тут. str1 &= If(CType(Controls("Box".

Как обнулить переменную, объявленную в другой форме
Добрый вечер.У меня есть две формы.На первой есть множество э/у и переменная.На второй форме есть.

программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
ruslan_smirnov, лучше выложи код
Регистрация: 01.03.2011
Сообщений: 89

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 46 47 48 49 50 51 52 53 54 55 56
if (win == 0){ system("cls"); cout  " ______________________________________________________ "  endl  endl; cout  endl  " Игрок - "  name  endl endl; cout  " Выигрыш - "  win  endl  endl; cout  " ______________________________________________________ "  endl  endl; cout  " Как в быту нередко называют подслушивающее устройство? "  endl endl; cout  " 1. дятел 2. жучок "  endl; cout  " 3. сверчок 4. муха "  endl  endl ; cout  " Ответ: "; cin >> answer; if (answer == 2){ win = 1000; } else{ win = 0; system("cls"); cout  " Ответ неверный! "  endl; cout  " Правильный ответ: 2. жучок "  endl  endl; cout  " Выш выигрыш: "  win  endl  endl;; } } if (win == 1000){ system("cls"); cout  " ______________________________________________________ "  endl  endl; cout  endl  " Игрок - "  name  endl endl; cout  " Выигрыш - "  win  endl  endl; cout  " ______________________________________________________ "  endl  endl; cout  " У кого глаза велики? "  endl endl; cout  " 1. у грусти 2. у радости "  endl; cout  " 3. у смеха 4. у страха "  endl  endl ; cout  " Ответ: "; if (answer == 4) win = 3000; else{ win = 0; system("cls"); cout  " Ответ неверный! "  endl; cout  " Правильный ответ: 4. у страха "  endl  endl; cout  " Выш выигрыш: "  win  endl  endl;; } } }

Переменная answer в первом случае получает значение и использует его на протяжении всей проги, нужно обнулить после первого ввода=)точнее не обнулить, а дать возможность работать с ней и далее, т.е. вводить в качестве ответа.

программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014

ruslan_smirnov, тебе бы лучше подумать о том, чтобы считывать задания из файла.
такая структура программы никуда не годится

Как очистить переменную в c

Есть переменная-массив типа char a[100]; . так вот, как мне полностью удалить все данные этой переменной? пробовал преобразовать из строки

blank=" "; strcpy(a,blank.c_str());

не получилось. я думал обнулится все в этой переменной, но оказывается такой способ не удаляет всю оставшуюся информацию.

Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022

char *a=new char[100]; AnsiString blank="Hello!"; strcpy(a,blank.c_str()); delete []a;

Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614

char a[100]; memset(a, 0, sizeof(a));

Форумчанин
Регистрация: 05.06.2007
Сообщений: 529

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

char *a = new char[100]; . int x=1000; // допустим так a = new char[x]; strcpy(data,text.c_str()); . 

вообщем в строке text гораздо больше символов, посему и нужно расширить массив до 1000 например. но не получилось

Последний раз редактировалось MaTBeu; 06.07.2009 в 11:27 .
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
Сообщение от Артэс

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

То, что вы создаете и есть динамическим массивом.

char *a = new char[100]; . int x=1000; delete []a; a = new char[x]; strcpy(a,text.c_str());

Сначало очистить уже существующую память, а потом заново выделить её и записать туда массив символов(строку).

Последний раз редактировалось profi; 05.07.2009 в 16:19 .
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529

Да я знаю что создаю динамический массив.

Теперь проблема. после того как создал его, в него не могу погрузить информацию (пытаюсь принять данные с сокета)

recv(connection,a,1000,0);

. программа крашает. а перед тем как погружать, сразу после создания

char *a=new char[100];

проверяю его

cout

и на экране отображается буква "х" и смайлик, а позже равно. что за прикол? буд-то массив не пустой создался.

вот вообщем примерный алгоритм того что делаю:

char *a = new char[100]; . delete []a; a = new char[1000]; memset(a,0,sizeof(a)); // отщищаю для последующего приема данных recv(connection,a,1000,0); // пытаюсь поместить данные и тут-то краш . 

Последний раз редактировалось Артэс; 05.07.2009 в 16:21 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *