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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 23:30   #1
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию Создание txt файла

Подскажите, как из этого кода сделать так, чтоб каждый раз, когда создавался файл, он создавался с разным именем, например, если первый созданный файл был 1.txt то следующий будет 2.txt потом 3.txt и т.д.
Код:
#include <iostream.h> 
#include <fstream> 
using namespace std; 

int main() 
{ 
for(int vr=0; vr<100; vr++) 
{ 
ofstream f("C://Qt/1/1.txt"); 
for(int i=0; i<10; ++i) 
{ 
int v=45645; 
f<<v <<endl; 
} 
} 
}
И ещё вопрос, как сохранить файл в нужной кодировке?

Последний раз редактировалось Stilet; 21.12.2010 в 19:19.
(Sandr) вне форума Ответить с цитированием
Старый 21.12.2010, 02:08   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
int main(){
char filename[100];//имя выходного файла
char outname[4]="abc";//filename = outname+rasch
char rasch[10]=".txt";
int cif=1;

ofstream out;

for (int i=1;i<5;i++){
	cif=i;
	outname[0]=char((cif/100)+48);  //
	cif=cif%100;                            //
	outname[1]=char((cif/10)+48);   // вот эту вот всю часть можно засунуть в массив
	cif=cif%10;                             //
	outname[2]=char((cif/1)+48);    //
	strcpy(filename,outname);    //копируем outname в начала filename
	strcat(filename,rasch);	       //добавляем расширение
	out.open(filename);             //открываем на вывод
	out<<"blahblahblah"<<endl;
	out.close();
}

}
для кодировки

SetConsoleCP(1251);
или
SetConsoleCP(866);
если я все правильно понял :D
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 21.12.2010, 18:31   #3
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Цитата:
Сообщение от kaljan775 Посмотреть сообщение
Код:
int main(){
char filename[100];//имя выходного файла
char outname[4]="abc";//filename = outname+rasch
char rasch[10]=".txt";
int cif=1;

ofstream out;

for (int i=1;i<5;i++){
	cif=i;
	outname[0]=char((cif/100)+48);  //
	cif=cif%100;                            //
	outname[1]=char((cif/10)+48);   // вот эту вот всю часть можно засунуть в массив
	cif=cif%10;                             //
	outname[2]=char((cif/1)+48);    //
	strcpy(filename,outname);    //копируем outname в начала filename
	strcat(filename,rasch);	       //добавляем расширение
	out.open(filename);             //открываем на вывод
	out<<"blahblahblah"<<endl;
	out.close();
}

}
для кодировки

SetConsoleCP(1251);
или
SetConsoleCP(866);
если я все правильно понял :D

Спасибо, но мне нужно было по моему коду)
(Sandr) вне форума Ответить с цитированием
Старый 21.12.2010, 18:49   #4
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

Код:
#include <iostream.h>
#include <fstream>
#include <sstream>

using namespace std;

int main()
{
	stringstream ss;

	for(int vr=0; vr<100; vr++)
	{
		ss.str("");
		ss << "C://Qt/1/" << vr + 1 << ".txt";

		ofstream f(ss.str());

		for(int i=0; i<10; ++i)
		{
			int v=45645;
			f<<v <<endl;
		}
	}
}
вот так попробуй, тут используется std::stringstream (#include <sstream>) для преобразования числа в строку и состыковки строк

По поводу кодировки - вроде как у .txt нету никаких кодировок, то есть кодировка будет зависеть от кодировки в которой ты пишешь текст в файл
UltimaBeaR вне форума Ответить с цитированием
Старый 21.12.2010, 19:04   #5
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Выдаёт ошибку сдесь: ofstream f(ss.str());
(Sandr) вне форума Ответить с цитированием
Старый 21.12.2010, 19:49   #6
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

какую ошибку? у меня на visual studio (2010) все скомпилиось и даже работает, единственное что я менял #include <iostream.h> на #include <iostream>
UltimaBeaR вне форума Ответить с цитированием
Старый 21.12.2010, 19:54   #7
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
Выдаёт ошибку сдесь: ofstream f(ss.str());
Цитата:
какую ошибку? у меня на visual studio (2010) все скомпилиось и даже работает, единственное что я менял #include <iostream.h> на #include <iostream>
Я еще добавил #include <telepat.h> в начале и все заработало:
Код:
ofstream f(ss.str().c_str());
Наверное, Visual C++ 2010 перегружает конструктор ofstream еще и так:
Код:
explicit ofstream ( const string &filename, ios_base::openmode mode = ios_base::out );
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."

Последний раз редактировалось Syuf; 21.12.2010 в 19:58.
Syuf вне форума Ответить с цитированием
Старый 21.12.2010, 21:20   #8
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Всем спасибо))

Я на Билдере компилил. Вот код, который у меня заработал:

#include <iostream.h>
#include <fstream>
#include <sstream>
using namespace std;

int main()
{
stringstream ss;

for(int vr=0; vr<10; vr++)
{
ss.str("");
ss << "C://Qt/1/" << vr + 1 << ".txt";
ofstream f(ss.str().c_str());
for(int i=0; i<10; ++i)
{
string v="ghsfh";
f<<v <<endl;
}
}
}

Чтоб не создавать лишних тем, я в этой ещё парочку вопросов задам)

1. Как послать get или post запрос на сервер, например, на сайт microsoft.com ? Например, чтоб гет запрос был вида: microsoft.com?result=ololo
Если можно, приведите пример как это сделать стандартными средствами С++.
2. Как можно копировать/переместить нужный файл в нужную деректорию. Или удалить его?
3. Как прописать программу в автозапуск винды?
(Sandr) вне форума Ответить с цитированием
Старый 21.12.2010, 21:20   #9
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Всем спасибо))

Я на Билдере компилил. Вот код, который у меня заработал:

#include <iostream.h>
#include <fstream>
#include <sstream>
using namespace std;

int main()
{
stringstream ss;

for(int vr=0; vr<10; vr++)
{
ss.str("");
ss << "C://Qt/1/" << vr + 1 << ".txt";
ofstream f(ss.str().c_str());
for(int i=0; i<10; ++i)
{
string v="ghsfh";
f<<v <<endl;
}
}
}

Чтоб не создавать лишних тем, я в этой ещё парочку вопросов задам)

1. Как послать get или post запрос на сервер, например, на сайт microsoft.com ? Например, чтоб гет запрос был вида: microsoft.com?result=ololo
Если можно, приведите пример как это сделать стандартными средствами С++.
2. Как можно копировать/переместить нужный файл в нужную деректорию. Или удалить его?
3. Как прописать программу в автозапуск винды?
(Sandr) вне форума Ответить с цитированием
Старый 21.12.2010, 21:50   #10
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

1) создаешь tcp-сокет (winsock.h) подключаешся к серверу (домен преобразуешь в ip через функции которые есть в этом же инклуде) по 80 порту и шлешь текст (вроде), содержащий запрос.
2) Надо гуглить WinApi функции для работы с файловой системой
3) тожесамое что и 2), только гуглить функции для работы с реестром (пишется ключ куда-то в ../autorun/..)

Последний раз редактировалось UltimaBeaR; 21.12.2010 в 21:52.
UltimaBeaR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скопировать текст с файла 1.txt и записать в 2.txt Kasper1 Общие вопросы по Java, Java SE, Kotlin 1 14.12.2010 05:56
Создание таблицы в .txt avic Помощь студентам 1 29.05.2010 08:22
Сравнить 2 txt файла maijor3 Помощь студентам 6 27.04.2010 00:36
Автоматическое создание txt в макросе Evroclidon Microsoft Office Excel 4 26.01.2010 18:32
Чтение из TXT файла soonner Общие вопросы Delphi 1 14.03.2009 13:52