Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование CreateThread https://www.cyberforum.ru/ cpp-beginners/ thread623804.html
Создаю функцию для потока,запускаю её с помощью _beginthread и всё нормально работает,но если использовать CreateThread,то возникают ошибки функция,используемая с #include "StdAfx.h" ...
Определить, корректно ли расставлены круглые, фигурные и квадратные скобки C++
Вот такая вот нехитрая вроде бы задача: Для введённой пользователем с клавиатуры строки (максимальная длина строки — 80 символов) программа должна определить, корректно ли расставлены круглые,...
C++ Как разбить на лексемы
Не могу понять как разбить на лексемы, помагите если не сложно Вот участок кода: #include <iostream> #include <locale.h> #include <math.h> using namespace std; int main() {...
C++ Присвоение указателю члену класса нового адреса, ошибка компиляции Идея в том, чтобы хранить в отдельном списке объекты типа B и передавать в объект типа A указатель на объект B из списка. Допустим есть следующий код: class A { public: void SetB(const... https://www.cyberforum.ru/ cpp-beginners/ thread623785.html
C++ Как скрыть файл .dll https://www.cyberforum.ru/ cpp-beginners/ thread623774.html
Я бы хотел знать как можно скрыть файл .dll ?
передача аргументов C++
Здравствуйте,объясните пожалуйста,на примерах кода,что означает передача аргументов по ссылке, по значению,передача копий аргументов?
Алгоритм(Найти максимальное совершенное число, которое в то же время меньше введенного N) C++
Найти максимальное совершенное число, которое в то же время меньше введенного N Справка: Число называется совершенным, если оно равно сумме всех своих делителей за исключением его самого НЕ...
C++ WaitForSingleObject Приветствую. Вот собственно код который нужно поправить. void changeFile() { DWORD dwWaitStatus; HANDLE dwChangeHandles; dwChangeHandles = FindFirstChangeNotification( ... https://www.cyberforum.ru/ cpp-beginners/ thread623732.html
C++ Русский язык в консольных приложениях! https://www.cyberforum.ru/ cpp-beginners/ thread623719.html
Здравствуйте форумчане, у меня возник такой вопрос, вообщем когда я вывожу командой cout то русские символы переводятся в кракозяблики )) в с++ недавно работаю, пишу в CODE Blocks 10. Как можно...
C++ Компилятор Посоветуйте хороший компилятор, не требующий огромной установки (типа Бюилдера и Визуал Студио со всеми SDK пакетами). Что нибудь простенькое, типа блокнота или подобного как на скрине. https://www.cyberforum.ru/ cpp-beginners/ thread623693.html
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 3
0

Не работает цикл с переводом типов

14.07.2012, 19:29. Просмотров 370. Ответов 2
Метки (Все метки)

Всем привет!

В программе происходят странные вещи. Мне нужно открыть несколько файлов с помощью потока ifstream в цикле, который крутится по переменной int j. Цикл устроен таким образом, что переменная j попадает в специальную функцию, которая генерирует путь к файлу (файлы друг от друга различаются по номеру, который и заключен в переменной j). Чтобы все это осуществить, мне нужно было конвертировать значение j в тип const char*, дабы все это дело удачно поместилось в файловую переменную типа ifstream, воспринимающую только const char* (насколько я понял).

В общем у меня почему-то не работает следующий внешний цикл (во внутреннем происходит работа с файлами):

C++
1
2
3
4
5
6
7
8
    for ( int j = 1; j == 3; j++ )                       // j - переменная для цикла и одновременно номер файла
    {
        tempIntToString << j;                            // Временная переменная для перевода из int в string
        fileNameNum = tempIntToString.str();             // Номеру файла присваивается значение типа string
        cout << "fileNameNum = " << fileNameNum << endl; // Вывод на экран для отладки
        tempIntToString.str("");                         // Очистка переменной для очередной итерации
        tempIntToString.clear();                         // И с clear() и без него - разницы нет
    }
Конкретно в этом цикле fileNameNum у меня типа string, но потом он переводится в const char* через c_str().

На экран ничего не выводится - в этом проблема.

Хотя если смоделировать работу цикла следующим образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
   tempIntToString << 1;
    fileNameNum = tempIntToString.str();
    cout << "fileNameNum = " << fileNameNum << endl;
    tempIntToString.str("");
    tempIntToString.clear();
    
    tempIntToString << 2;
    fileNameNum = tempIntToString.str();
    cout << "fileNameNum = " << fileNameNum << endl;
    tempIntToString.str("");
    tempIntToString.clear();
   // И так далее
то все будет хорошо: на экране выведется

C++
1
2
3
fileNameNum = 1
fileNameNum = 2
fileNameNum = 3
В чем может быть проблема?

Добавлено через 6 минут
Да, и если сделать цикл

C++
1
for ( j = 1; j == 1; j++ ) {...}
то на экран тоже все выведется.

Вернуться к обсуждению:
Не работает цикл с переводом типов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2012, 19:29
Готовые ответы и решения:

Преобразование типов с переводом в 10 СС
Всем привет. Есть переменная типа char в которой хранится примерно следующее: 1A17, что в 10...

Цикл: как работает цикл в цикле
Не могу понять как работает цикл в цикле например: repeat begin lalalala if что-то1&lt;&gt;100 then...

На Главной странице не работает правильно вывод (неккоректно работает цикл)
Я создал тему с нуля. И мне нужно было чтоб на главной странице(Главная)...

Цикл работает неправильно, в то время как POST работает
Всем привет! Я хотел написать под php скрипт с авторизацией, брут, на своем сайте(подбор пароля)....

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