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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
#1

Вопрос про mkdir - C++

08.10.2009, 13:12. Просмотров 3103. Ответов 15
Метки нет (Все метки)

У меня уже есть идея реализации но мне кажется есть способ проще!
И так к делу
вот часть кода точнее строчка
C++
1
WinExec("cmd /c mkdir d:\\MyFolder\\",0);
мне надо так чтобы пользаватель мог задавати букву диска сам, а папка MyFolder оставалась не изменной! Подскажите как это реализавать и не стесняйтесь задавать дополнительные вопросы.
Зарание извеняюсь если такая тема была.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2009, 13:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос про mkdir (C++):

Вопрос про наследование. - C++
Добрый день всем! Возможно ли создать производный класс в который будут помещены 2 объекта базового класса с возможностью...

Вопрос про конструктор - C++
цитата исходного кода из книги: class stock{ ... public: stock(); //Типа объявление конструктора по умолчанию чтоли... ...

Вопрос про конструктор - C++
Обязательно ли делать конструктор по умолчанию для класса, экземпляр которого входит в другой класс? Например так: class Class2 ...

Вопрос про указатели - C++
#include <iostream.h> int main() { int x; int *Pointer; pointer = &x; cout << pointer; cout << *ponter; return 0; ...

Вопрос про outtextxy() - C++
Если в графическом режиме выводить текст с помощью функции outtextxy() поверх другого текста, то новый текст сливается со старым. Прошу...

Вопрос про память... - C++
Вот скажите пожалуйста в чем разница между int *p = new int; *p = 10; и int n = 10; не могу понять )

15
RazorQ
578 / 345 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
08.10.2009, 14:02 #2
Считываешь букву диска в строку (пустую). Дальше делаешь конкатенацию с первой частью, а потом со второй частью твоей строки, т.е.
C++
1
2
3
4
char str1[80] = "cmd /c mkdir ", disk[2], strFinish[80];
// тут считываешь в disk имя диска
str1 = strcat(str1, disk);
strFinish = strcat(str1, ":\\MyFolder\\");
1
Gravity
563 / 557 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
08.10.2009, 14:13 #3
C
1
2
3
4
5
6
char disc;
char buf[256];
 
scanf("%c", &disc);
sprintf(buf, "cmd /c mkdir %c:\\MyFolder\\", disc);
WinExec(buf, 0);
1
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
08.10.2009, 14:27  [ТС] #4
RazorQ, Твой случай я не понял как реализовывать так как еще не силино понимаю!
можеш по подробней с примером показать

Gravity, твой случай пишет ощибку синтоксеса команды уже в консоле
0
Gravity
563 / 557 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
08.10.2009, 14:30 #5
Цитата Сообщение от Cdvig Посмотреть сообщение
твой случай пишет ощибку синтоксеса команды уже в консоле
Какую именно?
0
Evg
Эксперт CАвтор FAQ
18038 / 6270 / 428
Регистрация: 30.03.2009
Сообщений: 17,243
Записей в блоге: 28
08.10.2009, 14:40 #6
Цитата Сообщение от RazorQ Посмотреть сообщение
C++
1
2
str1 = strcat(str1, disk);
strFinish = strcat(str1, ":\\MyFolder\\");
Ты сам хоть понял, что написал

Надо

C
1
2
strcat(str1, disk);
strcat(str1, ":\\MyFolder\\");
Я бы вообще сделал:

C
1
2
3
char cmd[80];
char disk='c';
sprintf (cmd, "cmd /c mkdir %c:\\MyFolder\\", disk);
1
Gravity
563 / 557 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
08.10.2009, 14:41 #7
Цитата Сообщение от Evg Посмотреть сообщение
Я бы вообще сделал:
Я то же самое предложил, но автор не осилил.
0
Evg
Эксперт CАвтор FAQ
18038 / 6270 / 428
Регистрация: 30.03.2009
Сообщений: 17,243
Записей в блоге: 28
08.10.2009, 14:44 #8
Цитата Сообщение от Gravity Посмотреть сообщение
Я тоже самое предложил, но автор не осилил.
Чорт, не заметил
1
odip
Эксперт С++
7158 / 3220 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
08.10.2009, 19:14 #9
Ничего не понял, но почему нельзя просто вызвать функцию mkdir() ?
0
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
09.10.2009, 03:43  [ТС] #10
Вот пример программы которую нужно написать!
C++
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
#include <iostream.h>
#include <windows.h>
#include <conio.h>
char bufRus[256];
char *ruText(const char *text)
{
CharToOem(text, bufRus);
return bufRus;
}
void createFolder()
{
     
     char disc;
     char bufD[256];
     scanf("%c", &disc);
     sprintf(bufD, "cmd /c mkdir %c:\\MyFolder\\", disc);
     WinExec(bufD, 0);
}
int main()
{
    int i;
    cout<<ruText("быюерите действие");
    cin>>i;
    if (i=1)
    {
     //cout<<ruText("Введите метку тома");       
    createFolder();
     }
     cin.get();
     cin.get();
     return 0;
}
Если не понятно мне надо сообщить пользаватель что надо ввести букву диска!
тоесть меня интересует строка 26

Добавлено через 52 минуты
не могли бы вы показать пример с конкатенацией
0
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
09.10.2009, 12:40  [ТС] #11
Жалко нету кнопки "Огромное спасибо" ну ладно тебе Огромное Спасибо!
Цитата Сообщение от Evg Посмотреть сообщение

C
1
2
3
char cmd[80];
char disk='c';
sprintf (cmd, "cmd /c mkdir %c:\\MyFolder\\", disk);
0
Evg
Эксперт CАвтор FAQ
18038 / 6270 / 428
Регистрация: 30.03.2009
Сообщений: 17,243
Записей в блоге: 28
09.10.2009, 13:00 #12
Цитата Сообщение от Cdvig Посмотреть сообщение
Жалко нету кнопки "Огромное спасибо" ну ладно тебе Огромное Спасибо!
С учётом того, что в 3-ем посту это было уже написано до меня, я попросту сбоянил...
0
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
09.10.2009, 14:24  [ТС] #13
а теперь вопрос усложняется!
имея код
C++
1
2
3
char cmd[80];
char disk='c';
sprintf (cmd, "cmd /c mkdir %c:\\MyFolder\\NaMe\\", disk);
мы можем задавать букву диска!
вопрос как дать пользаватль задавать не только букву директории а и еще имя вложенной папки NaMe ?
0
Evg
Эксперт CАвтор FAQ
18038 / 6270 / 428
Регистрация: 30.03.2009
Сообщений: 17,243
Записей в блоге: 28
09.10.2009, 16:00 #14
C
1
2
3
4
char cmd[80];
char disk='c';
char name[32]="trampampam"
sprintf (cmd, "cmd /c mkdir %c:\\MyFolder\\%s\\", disk, name);
Может всё-таки почитаешь описание printf'а? А то всю жизнь так и будешь на каждом шагу спрашивать
1
Cdvig
9 / 9 / 0
Регистрация: 08.10.2009
Сообщений: 173
09.10.2009, 16:35  [ТС] #15
Evg, странно я писал похожий код(на мой взгляд) вместо названия папки было число и названия переменной
Спасибо
0
09.10.2009, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2009, 16:35
Привет! Вот еще темы с ответами:

Вопрос про friend - C++
Вот мой код. #include&lt;iostream&gt; using namespace std; class Bottle; class Carton { public: Carton(const Bottle&amp; xBottle) {...

вопрос про указателей - C++
вот напр эта строка int *m=new int; это как я понял создается указатель?тогда что такое new int?

Вопрос про цикл. - C++
Добрый день. Попал в тупик, не знаю как закрутить cin&gt;&gt; в цикл подскажите пожалуйста:). Вот собственно задание: Написать функцию,...

[C++] Вопрос про ввод - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; void main() { char adress; char text; //FILE * fo;


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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