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

Диалог открытия файлов и запись в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ c++ обработка файлов http://www.cyberforum.ru/cpp-beginners/thread346408.html
ОЧЕНЬ нужна программа на c++. Из текстового файла А.txt вывести кол-во символов (не учитывая пробел) в файл B.txt Например в файле A.txt: "123 абв" файл B.txt перезаписываем на 6. :pardon: Выражу несомненную любоф к человеку решившему мою проблему 8-)
C++ while несколько условий Нужно сделать чтоб при вводе символа проверяла тот ли символ #include <cstdlib> #include <iostream> #include <conio.h> using namespace std; int main(int argc, char *argv) { http://www.cyberforum.ru/cpp-beginners/thread346394.html
оптимизация кода! C++
Народ я тут написал простенькую программу которая вычесляет x из уровнения вида a+x=b x+a=b a+b=x Тоесть пишешь например: 245+x=500 а программа выводит: x=500-245 x=255 Но мне кажеться я ее както примитивно написал... можно ли этот код как нить упростить?
Аналог функции fprintf в с++ C++
Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не нашел и решил написать на форуме. Существует ли в с++ аналог функции fprintf ?
C++ Наследование http://www.cyberforum.ru/cpp-beginners/thread346377.html
Определить иерархию классов (в соответствии с вариантом – выделить базовый и производные). Реализовать классы (самостоятельно задать члены-данные и методы класса). Написать демонстрационную программу, в которой создаются объекты различных классов. Определение классов(*.h), их реализацию(*.cpp), демонстрационную программу(*.cpp) поместить в отдельные модули. Классы - БГТУ, факультет,...
C++ Перегрузка Класс - множество set. Дополнительно перегрузить следующие операции: -- удалить элемент из множества (типа set-item); * - пересечение множеств; < - сравнение множеств; > - проверка на подмножество; int()- мощность множества. подробнее

Показать сообщение отдельно
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
29.08.2011, 19:18     Диалог открытия файлов и запись в файл
Привет всем! Возникла такая проблема: получаю из диалога открытия файла имя файла, в который нужно что-то записать. Вот фрагмент кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    private: System::Void openButton_Click(System::Object^  sender, System::EventArgs^  e) {                    
                 //Запуск диалога
                 if (mainOpenFileDialog->ShowDialog()==System::Windows::Forms::DialogResult::OK)
                 {  
                     //Преобразование строки
                     char *fileName=new char[mainOpenFileDialog->FileName->Length+1];
                     for (int i=0;i<mainOpenFileDialog->FileName->Length;i++)
                     {
                         fileName[i]=(char)mainOpenFileDialog->FileName[i];
                     }      
                     fileName[mainOpenFileDialog->FileName->Length]=0;
 
                     //Запись в файл
                     FILE *picFile;
                     picFile=fopen(fileName,"w");
                     putc('a',picFile);
                     fclose(picFile);
                 }
             }
    };
Но при выполнении для имён файлов с русскими буквами возникает ошибка. Мне подсказали, что это из-за несовпадения кодировок, и нужно использовать функцию OemToChar. Но какие параметры этой функции я не знаю. Справка не особо помогла, вот что там написано: BOOL WINAPI OemToChar(
__in LPCSTR lpszSrc,
__out LPTSTR lpszDst
);. Но что это за типы данных я не знаю, и как можно перевести их в обычную строку и обратно я не знаю. Пробовал написать вот что:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Test4.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    LPCSTR a="АБВ";
    LPTSTR b;
    OemToChar(a,b);
    return 0;
}
, но снова возникает ошибка (ошибка2), в которой сообщается, что переменная "b" не инициализированна, но как её проинициализоровать я не знаю. Написал
C++
1
LPTSTR b="";
, но в таком случае возникает ошибка при компилировании - "Error 1 error C2440: 'initializing' : cannot convert from 'const char [1]' to 'LPTSTR' i:\doc\dev\c++ visual studio\test4\test4\test4.cpp 13 Test4". Помогите пожалуйста, а то я прямо не знаю что и делать.
Миниатюры
Диалог открытия файлов и запись в файл   Диалог открытия файлов и запись в файл  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru