Форум программистов, компьютерный форум, киберфорум
Наши страницы

Кодировка при выводе в файл из system() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Error C3861: _T: идентификатор не найден http://www.cyberforum.ru/cpp-beginners/thread881441.html
Код ниже в картинке. Урок NeHe по инициализации окна Windows
C++ как подключить аудио файл на с++? покажите на примере как это делается заранее спс http://www.cyberforum.ru/cpp-beginners/thread881420.html
C++ С Pascal на C++
for i:=0 to n-1 do begin x:=A+i*h; y:=(exp(x)-exp(-x))/2; write(i,' '); write(x:1:1,' ');writeln(y:2:1,' '); end; помогите пожалуйста,мне...
Файлы! (запись и считывание массива структур m и переменной i в файл) C++
помогите с записью и считыванием массива структур m и переменной i в файл. вот часть кода. main() { const char filename="0.dat"; const char mode1="rb"; const char mode2="wb"; FILE *f1; f1=...
C++ Нужно исправить задачу с шаблоном (найти корень каждого числа массива) http://www.cyberforum.ru/cpp-beginners/thread881372.html
задача состоит в том, чтобы найти корень каждого числа массива. Вводим 2 массива по отдельности. Первый массив должен быть int, второй float. Шаблон должен вывести корни с вещественным ответом. Вот...
C++ Массив объектов. Ошибка. В массиве все четные элементы разделите на 2, к нечетным прибавьте по 1. В массиве С(14) все четные элементы разделите на 2, к нечетным прибавьте по 1. #include <iostream> #include <cmath> using namespace std; class samp {int i; public: int... подробнее

Показать сообщение отдельно
Kerk_Pirr
28.05.2013, 15:15
Чт что-то не разберусь как пользоваться, результат тот же, что и раньше

Добавлено через 11 минут
Изменил код на
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
using namespace std;
int main()
{
        char str[10]="teterev\0";
        char buf[10];
        system("wmic os get caption>>history.txt");
        system("wmic cpu get name>>history.txt");
        system("wmic computersystem get TotalPhysicalMemory>>history.txt");
        FILE *f;
        f=fopen("history.txt","a+");
        CharToOem(str, buf);
        fputs(buf,f);
        fclose(f);
        return 0;
}
Но результат работы программы все тот же.

Добавлено через 8 часов 32 минуты
Добился записи в нормальной кодировке с использованием batника, который вызывается из программы

For /F "tokens=* delims=" %%j In ('wmic cpu get name') Do Echo %%j>>history.txt
For /F "tokens=* delims=" %%j In ('wmic OS get name') Do Echo %%j>>history.txt
For /F "tokens=* delims=" %%j In ('wmic computersystem get TotalPhysicalMemory') Do Echo %%j>>history.txt

При попытке написать одну из этих строк в system ("") выдает ошибку error: expected ')' before 'tokens'|

пробовал ставить \ перед кавычками, но начинает ругаться на %%j

Есть способ вызвать эти команди из программы?

Добавлено через 14 минут
начинает ругаться на %%j
При запуске пишет в консоли: "Непредвиденное повление %%j "

Добавлено через 4 часа 58 минут
Так и не получилось нормально реализовать для запуска из-под семерки.

В WinXP все нормально, но при запуске из-под семерки выдает в файл вместе с информацией строку на эльфийском, в которой читается слово ECHO
Файл сгенеренный семеркой смогу показать вечером.

вызов через system

For /F \"tokens=* delims=\" %j In ('wmic cpu get name') Do Echo %j>>history.txt
For /F \"tokens=* delims=\" %j In ('wmic OS get name') Do Echo %j>>history.txt
For /F \"tokens=* delims=\" %j In ('wmic computersystem get TotalPhysicalMemory') Do Echo %j>>history.txt


Если батник, то он выглядит так
For /F "tokens=* delims=" %%j In ('wmic cpu get name') Do Echo %%j>>history.txt
For /F "tokens=* delims=" %%j In ('wmic OS get name') Do Echo %%j>>history.txt
For /F "tokens=* delims=" %%j In ('wmic computersystem get TotalPhysicalMemory') Do Echo %%j>>history.txt
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru