Календарь на Май 2024 года: calendar2008.ru/2024/may/
Навигация
Главная »  Windows 

Как сохранить файл с Visual C++ в формате UNIX


Источник: supportmicrosoft
support.microsoft
При изменении исходных файлов в Visual C++ и сохранить их, строки должны завершаться символов "CR/LF" [символ возврата каретки, перевода строки] сочетание. В системах UNIX строк завершаются при помощи "LF". Таким образом, при просмотре файлы, которые были изменены в группе Windows в системах UNIX может появиться множество "^ M" символы в строках. Это происходит только при использовании редактора не знает, как интерпретировать файл Windows. Visual C++ можно открывать файлы, у строк, заканчивающихся с создания UNIX LF. Если изменить этот файл и Сохраните его из Visual C++, а затем оно сохраняется в формате Windows (вы увидите CR/LF и не LF, которая ранее была в системе). В данной статье Описывает процедуры для сохранения измененного файла, созданного на платформе Windows в формате, который может использоваться в системах UNIX. ПРИМЕЧАНИЕ: Visual C++.NET IDE содержит функции, доступные для сохранения файла в формате UNIX. В интегрированной среде разработки сохраните файл с помощью Сохранить как..., выберите из раскрывающегося списка сохранить Сохраните с кодировкой..., и нажмите кнопку thrn Да. Выберите из раскрывающегося списка Кодировка строки UNIX (LF), а затем нажмите кнопку ОК. Можно использовать следующие шаги для создания консольного приложения Win32 проект, который преобразует файл, содержащий "CR/LF" для завершения строки для "LF":
  1. Чтобы создать новую с помощью консольных приложений Win32 пустой проект с именем DOS2UNIX.
  2. Из Файл меню, нажмите кнопку Новый, а затем нажмите кнопку Файлы Вкладка.
  3. Выберите Исходный файл C/C++ и введите имя нового файла DOS2UNIX.cpp.
  4. Вставьте следующий код в DOS2UNIX.cpp:
    #include #include #include using namespace std;  int main(int argc, char* argv[]) { if(argc !=2) { cout << "Please specify : dos2unix filename" << endl; return 0; } char ch; char temp[MAX_PATH]="\0";  //Open the file for reading in binarymode. ifstream fp_read(argv[1], ios_base::in \ / ios_base::binary); sprintf(temp, "%s.temp", argv[1]); //Create a temporary file for writing in the binary mode. This //file will be created in the same directory as the input file. ofstream fp_write(temp, ios_base::out \ / ios_base::trunc \ / ios_base::binary);  while(fp_read.eof() != true) { fp_read.get(ch); //Check for CR (carriage return) if((int)ch == 0x0D) continue; if (!fp_read.eof())fp_write.put(ch); }  fp_read.close(); fp_write.close(); //Delete the existing input file. remove(argv[1]); //Rename the temporary file to the input file. rename(temp, argv[1]); //Delete the temporary file. remove(temp);  return 0; } 
  5. Из Построение меню, нажмите кнопку Создание DOS2UNIX.exe для создания EXE-файла.
Может потребоваться проверить этот exe-файл, чтобы увидеть, если он работает правильно. Для этого откройте файл в двоичном редакторе Visual C++ При выборе Открыть в группе Файл меню, выбрав DOS2UNIX.ex, Настройка Открыть как Кому Двоичный, а затем щелкнув Открыть. Например, если файл содержит "hellocrlfworld", двоичный файл данные (шестнадцатеричный) будет выглядеть так:
48 65 6 C 6 C 6F 0 D 0A 57 6F 72 6 C 64
Это эквивалентно:
Привет
Мир
В командной строке выполните команду dos2unix.exe . Далее откройте файл в двоичном редакторе Visual C++. Вы увидите, что 0x0d s, удаляются. Пока не изменить файл и сохранить его в Visual C++ 0x0d s не появится. Это можно использовать в сочетании с Модели автоматизации Visual C++ автоматизировать весь процесс. Простой Microsoft Visual Базовый сценарий макросов могут быть написаны для вызова данного средства, но сначала необходимо это средство добавить Сервис меню выглядит следующим образом:
  1. Из Сервис меню, нажмите кнопку Настройка, а затем нажмите кнопку Сервис Вкладка.
  2. Укажите имя, например DOS2UNIX, и укажите полный путь к файлу Dos2unix.exe в Команда поле редактирования.
  3. Задайте для аргумента, $(Filename)$(FileExt).
  4. Укажите исходный каталог $(WkspDir) (укажите свой собственный путь).
Для проверки работы программы, откройте файл в Visual C++ редактор, а затем из Сервис меню запуска DOS2UNIX средство. Вы увидите, что файл, открытый в редакторе были удалены все его символы CR. Если необходимо автоматизировать этот процесс обработать таким образом, чтобы при каждом сохранении открытого файла в редакторе Visual C++ средство DOS2UNIX.exe вызывается для удаления 0x0d s, а затем используйте следующий макрос VBScript:
'This event is fired every time the document is saved in the VC++ Editor. Sub Application_DocumentSave(theDocument)  'This will call the user tool in the Tools menu. 'Change the number depending upon what you have. By default you only 'have 6 tools under the Tools menu, so the DOS2UNIX tool will be the 7th.  ExecuteCommand "UserTool7"  End Sub 
Этот код VBScript будет работать только в том случае, если у вас есть файлы, открытые в Редактор Visual C++. Это единственный способ вызова exe-файл из VBScript макрос (макрос VBScript нельзя передать параметры). Можно написать в Вместо этого и это будет более гибким. Вызовите инструмент "DOS2UNIX.exe" из надстройки без необходимости добавлять его к Сервис меню. В Visual C++ с использованием предоставленного VBScript макроса:
  1. Открыть существующий файл с расширением .dsm или создать один.
  2. Вставьте код, ранее приведенными в файл.
  3. В Visual C++ выполните следующие действия.
    1. Из Сервис меню, нажмите кнопку Настройка.
    2. Нажмите кнопку Файлы макросов и надстроек Вкладка.
    3. Нажмите кнопку Обзор загрузить файл .dsm, содержащий макрос. Один раз в файле .dsm был выбран в Обзор диалоговое окно, файл появится в Надстроек и макросов список файлов с помощью выбранного флажка рядом с ним.
    4. Нажмите кнопку Закрыть для продолжения.
Теперь, если открыть файл в редакторе Visual C++ и сохранить из файла Файл меню, вызываемого макроса и все 0x0d s будет удален из открытого файла. Так как это повлияет на любой файл, сохранить с этого момента ведется и применяются к любому проекту открыть в будущем, убедитесь, что отключить макрос из Сервис меню с помощью Настройка (снимите флажок рядом с макросом). Если вы являетесь затем с помощью Microsoft Visual SourceSafe как средство управления исходного кода, см. следующую статью базы знаний:
170750  (http://support.microsoft.com/kb/170750/EN-US/ ) ИНФОРМАЦИЯ: Конец параметры символа строки для Visual SourceSafe


 

 Сравнение SQL Server Express и MSDE.
 Пишем CD проигрыватель.
 Введение в многозадачность и многопоточность.
 "Лаборатория Касперского" и компания Seculert обнаружили очередного кибершпиона на Ближнем Востоке.
 Microsoft Windows Malicious Software Removal Tool v.1.23 (download).


Главная »  Windows 

© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено.