Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2009, 22:01   #1
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию почему так? помогите решить

Я новичок помогите!!!
Код:
#include <iostream>

using namespace std;
void main()
{
char str1[20];
char str2[20];
char *str3;
int coun=0;
FILE *fil;
fil = fopen("text.txt","r");
while(!feof(fil))
{
fgets(str1,20,fil);
if(str1[0]=='$')
{
for(int i = 1; i <= 20; i++)
{
if(str1[i]=='$')
{
break;
}
else
{
coun++;
}
}
str3 = new char [coun];
cout<<" coun = "<<coun<<endl;
for(int i=0;i<coun;i++)
{
str3[i] = str1[i+1];
}
cout<<str3<<endl;
delete []str3;
coun=0;
}
}
fclose(fil);
}
должно вывести на консоть слова которые находятся у файле .txt отмеченный метками $бла-бла$.............$бла-бла$.......... а выводит ищо непонятные.

у файле


Модератор: тег CODE

Последний раз редактировалось Sazary; 31.05.2009 в 22:06.
evgenrpo вне форума Ответить с цитированием
Старый 31.05.2009, 22:08   #2
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

как избавится от тех крестиков?
evgenrpo вне форума Ответить с цитированием
Старый 31.05.2009, 22:10   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вообще, у меня лишнего ничего не выводится.
Попробуйте добавить перед выводом:
Код:
strcat(str3,"\0");
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 31.05.2009, 22:15   #4
helavisa
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 10
По умолчанию

Советую когда работаете с текстом писать
Код:
fil = fopen("text.txt","rt");
helavisa вне форума Ответить с цитированием
Старый 31.05.2009, 22:22   #5
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Всеравно те крестики выводятся
evgenrpo вне форума Ответить с цитированием
Старый 31.05.2009, 22:37   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Напишите перед выводом:
Код:
str3[coun] = 0;
и выделяйте памяти cout+1.
Должно выводиться без мусора.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 31.05.2009, 22:43   #7
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Большое спасибо помогло...
evgenrpo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему графика ведет себя так: Иллидан Общие вопросы Delphi 6 10.10.2008 00:13
Почему так происходит? Zeraim Общие вопросы Delphi 1 05.05.2008 14:10
Почему так? Знач. по умолч. у функции and277 Общие вопросы C/C++ 9 14.03.2008 17:53
Почему так? Сильванович Михаил Общие вопросы C/C++ 2 03.07.2007 11:57
Обьясните почему так... malevich Общие вопросы Delphi 5 10.02.2007 17:29