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

Выбивает ошибку - C++

Войти
Регистрация
Восстановить пароль
 
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
24.05.2009, 14:07     Выбивает ошибку #1
Мне нужно вывести на экран начало адреса! Почему, когда я пишу эту функцию с красным символом(тоесть то, что я выделила), то мне выбивает ошибку, без него всё нормально получается?!!

И как можно потом продолжать вводить текст с клавиатуры, для подальшего чтения адреса?


int vvood()
{
char ad[50];
gotoxy(25,17);
printf("D:\");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
24.05.2009, 14:12     Выбивает ошибку #2
вот так вот надо
C++
1
printf("D:\\");
Добавлено через 1 минуту 32 секунды
потому что, символ "\" системный символ... после него, как правило идет команда:
например:

"\n" - первод каритки на следующую строку
"\0" - символ конца строки
"\t" - символ табуляции
etc
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
24.05.2009, 14:18  [ТС]     Выбивает ошибку #3
Хорошо, спасибо, а как продолжить, чтобы ввод продолжение адреса был с клавиатуры ???
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
24.05.2009, 14:33     Выбивает ошибку #4
ну например, вот так.. str1 - содержит весь путь
C++
1
2
3
4
5
6
7
8
9
10
11
   char str1[255];
   char str2[255];
 
   memset(str1,'\0',sizeof(str1));
 
   printf("D:\\");
   strcat(str1, "D:\\");
   gets(str2);
   strcat(str1, str2);
 
   printf("\n%s", str1);
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
24.05.2009, 14:51  [ТС]     Выбивает ошибку #5
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
memset(str1,'\0',sizeof(str1));
А что значит эта функция???

Добавлено через 1 минуту 14 секунд
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
strcat(str1, "D:\\");
и эта?
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
24.05.2009, 14:57     Выбивает ошибку #6
ну memset(), в данном случае присваевает каждому симовлу строки символ конца строки '\0'...
а strcat() это функция работы со строками.. она в строку str1 в конец добавляет сроку из второго парамтера... так как строку пуста, то в str1 будет находится "D:\\"
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
24.05.2009, 15:04  [ТС]     Выбивает ошибку #7
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
strcat(str1, "D:\\");
и эта?

Добавлено через 1 минуту 12 секунд
Я уже поняла, можна не отвечать!!! Вопрос с задержкой появился!!!
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
24.05.2009, 15:09     Выбивает ошибку #8
я бы сказал так
C++
1
2
3
char str[255]="D:\\";
printf("vvedite adress:\n%s",str);
scanf("%s",str+strlen(str));
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2009, 15:31     Выбивает ошибку
Еще ссылки по теме:

Во время отладки выбивает ошибку C++ C++
C++ Выбивает все время одну и ту же ошибку
C++ Программа выбивает ошибку при выводе
C++ Выбивает ошибку в коде
C++ Задача на построение циклического алгоритма,выбивает ошибку.Вводятся N чисел,найти сумму кратных 5-ти

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

Или воспользуйтесь поиском по форуму:
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
24.05.2009, 15:31  [ТС]     Выбивает ошибку #9
printf("vvedite adress:\n%s",str);

Выбивает ошибку: Declaration syntax error

Добавлено через 4 минуты 10 секунд
Первый способ понравился лучше, и получается!!! Спасибо большое за помощь!!! Без Вас бы никак не справилась!!!

Добавлено через 6 минут 27 секунд
А можно еще вопрос???
А как мне теперь выводить содержимое файла из введённого адреса, а не с заданного?
Вот моя фукция

int txt2()
{
char s[800];
int i, count,n=0;
FILE *fin, *fout,*f;

fin = fopen("input.txt", "r"); // заданый адрес или файл
fout = fopen("output.txt", "w");
while(fgets(s, sizeof(s), fin) != NULL) {
for(i = count = 0; s[i] != '\n' && s[i] != EOF; i++) //это не важно- подсчет
if(s[i] == ' ') //пробелов построчно
count++;
n++;

printf("%s", s);
fprintf(fout, " %d = %d\n",n, count);
}
fclose(fin);
fclose(fout);

getch();
return 0;
}
Yandex
Объявления
24.05.2009, 15:31     Выбивает ошибку
Ответ Создать тему
Опции темы

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