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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 14:05   #1
Suliman
Новичок
Джуниор
 
Регистрация: 15.12.2009
Сообщений: 1
По умолчанию Проблема с кодом, помогите исправить

Вобщем есть код
Код:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main (int argc, char* argv[]) {
    string uin, pass;
    ifstream passFile("pass.txt");
    ofstream sourceFile("source.txt");
    for ( ; ; ) {
        getline(passFile, pass);
        ifstream uinFile("uin.txt");
        for ( ; ; ) {
            getline(uinFile, uin);
            sourceFile << uin << ";" << pass << endl;
            if (uinFile.eof()) break;
        }
        uinFile.close();
        if (passFile.eof()) break;
    }
    passFile.close();
    sourceFile.close();
    return 0;
}
иесли содержание файла uin.txt такое
Код:
123451
123452
123453
а содержание файла pass.txt такое
Код:
a
b
c
то в файл source.txt записывается следующее
Код:
;a3451
;a3451
123451;a
;b3452
;b3452
123452;b
;c3453
;c3453
123453;c
а нужно чтов записалось так
Код:
123451;a
123451;a
123451;a
123452;b
123452;b
123452;b
123453;c
123453;c
123453;c
помогите пожалуйсто исправить этот код или предложите свой код который будет работак как нужно
заранее спасибо

да,еще эта программа компилится и запускается под FreeBSD
Suliman вне форума Ответить с цитированием
Старый 15.12.2009, 17:30   #2
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Для начала сделай нормальные условия выхода из цикла, читабельные, например
while (!file.eof)
{
//операции
}
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 15.12.2009, 17:42   #3
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Держи
Код:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main (int argc, char* argv[]) {
    char uin[20], pass[20];
    ifstream passFile("pass.txt");
    ofstream sourceFile("source.txt");
	ifstream uinFile("uin.txt");
    while(!passFile.eof())
	{
		passFile.getline(pass,20);
		while (!uinFile.eof())
		{
			uinFile.getline(uin,20);
			sourceFile << uin <<";" << pass <<endl;
		}
		uinFile.seekg(0);
	}
    return 0;
}
Или если хочешь работать со стринг - то используй gitline, явно указывая символ, до которого сканировать

fstream file("some.txt");
string str;
getline(file,str,'\n');
Если я помог вам - порадуйте меня, нажмите на весы слева

Последний раз редактировалось RoS; 15.12.2009 в 17:56.
RoS вне форума Ответить с цитированием
Старый 17.12.2009, 15:53   #4
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

И где, блин, благодарность
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связка TrackBar с Label. Проблема с кодом. Murlokotan61 Компоненты Delphi 8 07.12.2009 01:58
Проблема с кодом( DM_bite Помощь студентам 3 02.08.2008 20:02
Помогите с кодом DM_bite Помощь студентам 12 02.08.2008 11:40