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

Строки и иже с ними - C++

Восстановить пароль Регистрация
 
sade_
1 / 1 / 0
Регистрация: 02.04.2010
Сообщений: 28
11.05.2010, 10:28     Строки и иже с ними #1
Как бы странно не звучало, но:я не могу нормально очистить строку в C++
пытаюсь присвоить признак конца строки первому символу строки--он присваивает первому символу, а все остальные так и остаются на своем месте(это не допустимо в моей задаче).
Пытаюсь даже строке присвоить NULL или \0 --бесполезно.
Вообщем, у кого какие соображения?
2 проблема:
пишу текст в файл, а они кракозябры-прямоугольники, в чем дело?
3 проблема:
в Visual Studio не получается сделать нормальную трассировку:запускаю, а она в мои методы не заходит(не путать с заходом в ее методы, которые расстилаются длинным ковром на несколько квадратных метров)).Просто по строкам прошлась и всё.
Надеюсь на вашу помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
11.05.2010, 13:32     Строки и иже с ними #2
Цитата Сообщение от sade_ Посмотреть сообщение
в Visual Studio не получается сделать нормальную трассировку:запускаю, а она в мои методы не заходит(не путать с заходом в ее методы, которые расстилаются длинным ковром на несколько квадратных метров)).Просто по строкам прошлась и всё.
Надеюсь на вашу помощь
Используй клавиши F10 и F11. F11 - как раз с заходом в функции. Для VS2008
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
11.05.2010, 16:45     Строки и иже с ними #3
Цитата Сообщение от sade_ Посмотреть сообщение
пытаюсь присвоить признак конца строки первому символу строки--он присваивает первому символу, а все остальные так и остаются на своем месте(это не допустимо в моей задаче).
Пытаюсь даже строке присвоить NULL или \0 --бесполезно.
Так и должно быть! А как вы хотели?
пишу текст в файл, а они кракозябры-прямоугольники, в чем дело?
КОДИРОВКА! , либо не то пишите.
sade_
1 / 1 / 0
Регистрация: 02.04.2010
Сообщений: 28
11.05.2010, 18:33  [ТС]     Строки и иже с ними #4
если F11 жать, то она заходит и в свои функции, типа open file или что там ей еще нужно, понятно, что так над трассировкой можно и пол часа просидеть, чтобы один раз сделать
представьте, есть строка, в ней уже есть символы, а мне надо, чтобы она стала снова пустой(без символов),вот в чем дело.мне так,как вы говорите, не надо.
второе, я понимаю, кодировка, но где, что изменить нужно?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
11.05.2010, 18:55     Строки и иже с ними #5
Цитата Сообщение от sade_ Посмотреть сообщение
если F11 жать, то она заходит и в свои функции, типа open file или что там ей еще нужно, понятно, что так над трассировкой можно и пол часа просидеть, чтобы один раз сделать
Там, куда не хотите заходить, просто жмите STEP, а там, куда надо зайти жмите Trace (или как там, в английском не силен)
представьте, есть строка, в ней уже есть символы, а мне надо, чтобы она стала снова пустой(без символов)
Самый простой выход - забить строку нулями.
я понимаю, кодировка, но где, что изменить нужно?
Если пишете под консоль, то используется кодировка ASCII, можно потом в текстовом редакторе просто ее выбрать и все, или заполнять файл используя коды символов (жесть конечно, так, к слову пришлось) или сменить кодировку, я думаю есть какой-нибудь способ, но я к сожалению его не знаю.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.05.2010, 19:03     Строки и иже с ними #6
Цитата Сообщение от sade_ Посмотреть сообщение
я не могу нормально очистить строку в C++
C++
1
2
3
4
5
6
#include <string>
...
std::string s("bla bla bla");
...
s = "";
...
C
1
2
3
4
5
6
#include <string.h>
...
char buf[SOME_SIZE] = "bla bla bla";
...
memset(buf, 0, SOME_SIZE);
...
C
1
2
3
4
5
6
7
#include <strings.h>
...
char buf[SOME_SIZE] = "bla bla bla";
...
/* BSD style */
bzero(buf, SOME_SIZE);
...
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
11.05.2010, 19:04     Строки и иже с ними #7
Цитата Сообщение от sade_ Посмотреть сообщение
я не могу нормально очистить строку в C++
А может так попробовать? или не айс ?..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
const int SIZE =100;
 
int main()
{
    char buf[SIZE];
    int i;
 
    cout<<"Vvedite 1 stroky: ";
    cin.getline(buf, SIZE);
 
    cout<<"Rezultat: "<<buf<<endl;
    for (i=0; i<strlen(buf); i++)
        *buf=NULL;
    cout<<"Rezultat1: "<<buf;
    cout<<endl<<endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2010, 23:02     Строки и иже с ними
Еще ссылки по теме:

Строки с действительными числами, операции над ними C++
Строки и операции над ними C++
Наследование. Классы. Перегрузка '=' и иже с ними C++

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

Или воспользуйтесь поиском по форуму:
sade_
1 / 1 / 0
Регистрация: 02.04.2010
Сообщений: 28
11.05.2010, 23:02  [ТС]     Строки и иже с ними #8
в блокноте кодировки я не нашла(наверно, он просто старый), проблема решилась тотталом
спасибо за совет про трассировку--работает.Но это просто ужас)
насчет строк--тоже,как ОНИ могли такую функцию не написать?!
но всем спасибо!
Yandex
Объявления
11.05.2010, 23:02     Строки и иже с ними
Ответ Создать тему
Опции темы

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