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

Как правильно вставить переменную? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
deni120965
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 5
06.02.2012, 20:20     Как правильно вставить переменную? #1
Вот программа:

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <stdio.h> 
#include <string>
#include <io.h>
#include <windows.h>
#include <cmath>
 
using namespace std;
char t[100];
int main()
{
ifstream f1("in/1.txt");
f1>>t;
      for (long l=0; l<100; l++)
      {       
switch (t[l])
       {
             case '0':
                  CopyFile("in/x0.png", "out/x0.png", TRUE);
                  MoveFile("out/x0.png", "out/0.png");
                  break;
             case '1':
                  CopyFile("in/x1.png", "out/x1.png", TRUE);
                  MoveFile("out/x1.png", "out/1.png");
                  break;
             case '2':
                  CopyFile("in/x2.png", "out/x2.png", TRUE);
                  MoveFile("out/x2.png", "out/2.png");
                  break;
             case '3':
                  CopyFile("in/x3.png", "out/x3.png", TRUE);
                  MoveFile("out/x3.png", "out/3.png");
                  break;
             case '4':
                  CopyFile("in/x4.png", "out/x4.png", TRUE);
                  MoveFile("out/x4.png", "out/4.png");
                  break;
             case '5':
                  CopyFile("in/x5.png", "out/x5.png", TRUE);
                  MoveFile("out/x5.png", "out/5.png");
                  break;
             case '6':
                  CopyFile("in/x6.png", "out/x6.png", TRUE);
                  MoveFile("out/x6.png", "out/6.png");
                  break;
             case '7':
                  CopyFile("in/x7.png", "out/x7.png", TRUE);
                  MoveFile("out/x7.png", "out/7.png");
                  break;
             case '8':
                  CopyFile("in/x8.png", "out/x8.png", TRUE);
                  MoveFile("out/x8.png", "out/8.png");
                  break;
             case '9':
                  CopyFile("in/x9.png", "out/x9.png", TRUE);
                  MoveFile("out/x9.png", "out/9.png");
                  break;
       }
       }
f1.close();
system("PAUSE");
    
}
 Комментарий модератора 
Используйте теги форматирования кода!


так вот нужно тут:

MoveFile("out/x0.png", "out/0.png");

вместо второго 0 поставить переменную l , как это правильно можно сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Felsurt
5 / 5 / 0
Регистрация: 06.02.2012
Сообщений: 19
06.02.2012, 20:25     Как правильно вставить переменную? #2
1. пользоваться тегами на форуме
2. scanf или конкатенация строк
deni120965
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 5
06.02.2012, 20:27  [ТС]     Как правильно вставить переменную? #3
А подробней можно? а то я несилен так немного основ только знаю.
Эту программу писал часов 10
Felsurt
5 / 5 / 0
Регистрация: 06.02.2012
Сообщений: 19
06.02.2012, 20:37     Как правильно вставить переменную? #4
ой, опечатался, я имел ввиду не scanf, а sprintf, конечно же

поподробней
google.ru
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,195
Завершенные тесты: 1
06.02.2012, 20:48     Как правильно вставить переменную? #5
Если надо заменить только одну букву,
то можно так:
C++
1
2
3
char fname[50]="out/0.png";
fname[4]='1';
MoveFile("out/x0.png", fname);
Получится "out/1.png"
deni120965
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 5
06.02.2012, 21:19  [ТС]     Как правильно вставить переменную? #6
C++
1
char fname[50]="out/0.png";
А как указать переменную внутри ""?

Добавлено через 1 минуту
Сори неувидел fname[4]='1';
Сейчас попробую

Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
1
2
3
4
5    
char fname[50]="out/0.png";
fname[4]='1';
MoveFile("out/x0.png", fname);
Не получилось так переименовывает только первый файл и задает ему не значение переменной а ее саму
В вашем примере вместо 1 надо поставить переменную пробыва но не получилось
пробывал и без ' '

Добавлено через 3 минуты
Цитата Сообщение от Felsurt Посмотреть сообщение
ой, опечатался, я имел ввиду не scanf, а sprintf, конечно же

поподробней
google.ru
Поискал по google.ru
непойму как оно мне может помочь

Добавлено через 3 минуты
конкатенация строк
ошибка operator+ перегрузка оператора

Добавлено через 1 минуту
наверное потому что переменная L типа int
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,051
06.02.2012, 21:34     Как правильно вставить переменную? #7
а что можно в имени файла слеш / использовать???
deni120965
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 5
06.02.2012, 21:43  [ТС]     Как правильно вставить переменную? #8
У меня получается его использовать а так хз чмсто случайно получилось можно сказать
но сохраняет и читает нормально
remarkes
300 / 223 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
06.02.2012, 21:46     Как правильно вставить переменную? #9
Цитата Сообщение от Felsurt Посмотреть сообщение
поподробней google.ru
слющай, дарагой := какой такой гугл-шмугл? ты мне функцию волшебную дай и код напиши

deni120965
,
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <string.h>
 
/* первый кусок строки */
#define FIRST_HALF  "out/"
/* второй кусок строки */
#define SECOND_HALF ".png"
 
/* эти функции расписаны в K&R */
void itoa(int n, char s[]);
void reverse(char s[]);
 
int main()
{
    int l; /* ваша переменная */
    char out_var1[]=FIRST_HALF;
    char out_var2[]=SECOND_HALF;
    char out_int[2]; /* сюда запишется переменная l в виде char */
    
    for (l=0; l<100; l++) {
        itoa(l, out_int); /* переводим число в char */
 
        /* соединяем строку из кусков */
        strcat(out_var1, out_int);
        strcat(out_var1, out_var2);
 
        printf("l=%s\t", out_int);
        printf("%s\n", out_var1);
        /*
         *    некий ацкий кодинг
         */
        
        /* в конце возвращаем первоначальное значение */
        strcpy(out_var1, FIRST_HALF);
    }
    return 0;
}
 
/* itoa:  конвертируем n в символы в s */
void itoa(int n, char s[])
{
    int i, sign;
 
    if ((sign = n) < 0)  /* записываем знак */
        n = -n;          /* делаем n положительным числом */
    i = 0;
    do {       /* генерируем цифры в обратном порядке */
        s[i++] = n % 10 + '0';   /* берем следующую цифру */
    } while ((n /= 10) > 0);     /* удаляем */
    if (sign < 0)
        s[i++] = '-';
    s[i] = '\0';
    reverse(s);
}
 
/* reverse:  переворачиваем строку s на месте */
void reverse(char s[])
{
    int i, j;
    char c;
 
    for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
        c = s[i];
        s[i] = s[j];
        s[j] = c;
    }
}
пожалуйста!
будут вопросы - пиши

Добавлено через 2 минуты
ValeryS,слеш, как разделитель каталогов - можно, в имени файла - нельзя
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,051
06.02.2012, 22:10     Как правильно вставить переменную? #10
Цитата Сообщение от ValeryS Посмотреть сообщение
а что можно в имени файла слеш / использовать???
Цитата Сообщение от remarkes Посмотреть сообщение
ValeryS,слеш, как разделитель каталогов - можно, в имени файла - нельзя
вообще то разделитель это обратный слеш \ и из за особенностей строки в С нужно писать так \\

Добавлено через 1 минуту
просто я знаю что многие символы нельзя использовать в имени
и я по старой привычке даже пробел не использую пишу _
вот и спросил разрешили или нет
deni120965
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 5
06.02.2012, 22:13  [ТС]     Как правильно вставить переменную? #11
Пиз**ц нет слов просто!
ОГРОМНЕЙШОЕ СПАСИБО.
Наконец то заработало хД!!!!!
Канешно для меня очень все сложно но вроде немного понял.
СПАСИБО ВАМ!!!! REMARKES
мб когда то и я научусь)


некий ацкий кодинг хДДД
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2012, 22:31     Как правильно вставить переменную?
Еще ссылки по теме:

Можете подсказать,как правильно описать глобальную переменную C++
C++ Вставить один символ в переменную типа string
C++ Как правильно объявлять struct переменную?

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

Или воспользуйтесь поиском по форуму:
remarkes
300 / 223 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
06.02.2012, 22:31     Как правильно вставить переменную? #12
Цитата Сообщение от ValeryS Посмотреть сообщение
вообще то разделитель это обратный слеш \ и из за особенностей строки в С нужно писать так \\
вообще-то разделителем является обратный слеш только в одном баговом поделии одной известной конторки, а в остальных системах - прямой слеш - это разделитель каталогов.

Добавлено через 2 минуты
deni120965, желаю успехов
Yandex
Объявления
06.02.2012, 22:31     Как правильно вставить переменную?
Ответ Создать тему
Опции темы

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