Чувак, я тебе дал код. Если тебе в падлу анализировать возвращаемые функцией значения и смотреть на каком шаге возникает ошибка, то используй его после вызова функций CreateProcess, WriteFile и CreatePipe. Code: LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL ); MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK | MB_ICONERROR); LocalFree(lpMsgBuf); На кой хер ты создаёшь директорию через пайпы и CMD? Что чистый WIN API религия не позволяет использовать?
Да папку создать это для примера просто. А вообще при WriteFile выдаёт неверный дескриптор. Но я как ты наверно понимаешь как всегда в шоке ))
secat.nLength = sizeof(SECURITY_ATTRIBUTES); secat.bInheritHandle = TRUE; secat.lpSecurityDescriptor = NULL; Что будет если так?
есть вопрос, типы бывают разные (int, double, float...), вот есть пустой тип void, в функцы все ясно для чего он нужен, а вот для параметрах толку от него какой? на пример: Code: void x; void *xPtr; пустые типы, не берут с памети не чего, а полза какава? ********** Code: #include <stdio.h> #include <conio.h> int main() { FILE *FF; const int MAX=1024; int x,ch; char a[MAX]; char FirstFileName[] = {"file1.txt"}; /*printf("Insert text to first file : \n"); FF = fopen(FirstFileName,"w"); gets(a); fputs(a,FF); fclose(FF); printf("\nFirst file data is : \n"); FF = fopen(FirstFileName,"r"); fgets(a,MAX,FF); printf("%s\n",a); fclose(FF);*/ printf("Insert text to first file : \n"); FF = fopen(FirstFileName,"w"); gets(a); fwrite(a,sizeof(char),MAX,FF); fclose(FF); printf("\nData in first file : \n"); FF = fopen(FirstFileName,"r"); fread(a,sizeof(char),MAX,FF); printf("%s\n",a); fclose(FF); getch(); return 0; } Юзая fputs, и fgets все на ура, вот только юзая fwrite какаи то каляки в файле появляются. Code: Hello, Welcome to C programming language v$э" рэ эЩяпv0 ‰ °,R R Э ”ь" ‰ R °,R ”ь" рЉуv,‹уvн nv R HR Nv ( HR f dЭ э" HR ё,R јR 2 lR D F јR нv @ @ё#R b f dД R ё,R , ё,R г ·,R І,R і,R R ыјы" ыДя" 4˜нv)ї юяяя,‹уvR‡уv@ H °,R @ яяяя$ЊтvooPv @ 4э" @ pя" @ @ Ђ ”Љтv,Ырvяяяя °#R R §ќ¦nHя" , , R °#R рЉуv? 4ю" зЈуv , ,‹уvMўnv , Њ, H, , , H, ? , H, , ђю" @†уv0, †уvйўnv , , Љ ЉД , ХўnvЁ#, 0, H, Ё#, , H, , H, ? ?? ‰? ? , , \э" , ? ‰ )ї Ё#, ,‹уvR‡уv , H, R‡уv, 0, , ˜°э" h, ью" 4˜нvIї юяяя†уvR†уv , , рR Аю" oЕRv , , я" kќѕv , xќѕvАЇpє рR 4цмМюяяяу¦ѕv;§ѕvФю" Дя" µ$АvLНмМюяяяxќѕv®Ьїv, p, 8я" что это?? почему так? ЗЫ. сорри за плохой Русс язык, сам то не с Россий.
void не пустой тип. Он такой же тип как и все другие. Он эквивалентен одновременно всем типам. Просто он "безтиповый". Ты его можешь привести к любому типу. Он часто используется в задачах, когда неизвестно какой тип будет подаваться на входе... Например у тебя функция вывода чего-то... Если ты опишешь параметр как указатель на int, то это и ограничит тебя использованием int в параметрах... А если ты опишешь как указатель на void, то тут флаг тебе в руки - передавать можешь что угодно. Умей только правильно это обработать. fwrite(a,sizeof(char),strlen(a),FF)
А обязательно нужно определять позицию искомого символла в массиве? ЗЫ:что то я там ненахожу методов с названиями clear,free и т.д. Как же можно очистить буффер символов типа ansistring ?
Что это за программы: InterBase, VisiBroker. Стали вместе с Borland C++ Builder 6 Enterprise. Я смотрел, но ничего внятного для себя в доках не нашел. В универе начался полугодовой курс программирования. Т.е. основы. Так вот для тех целей, для моих целей они нужны?
InterBase : Relational data base management system , то есть управленям базы данных. VisiBroker : для работы с COBRA я не спец по Делфи, но тут думаю все ясно что, зачем, почему, и куда.
напишите функцию print_out печатающую все целые числа в диапазоне от 1 до N. проверьте работу функции, поместив её в программу и передав ей число N - введенное с клавиатуры. возвращаемый тип функции print_out должен быть void; функция не возвращает значение. вот накорябал это #include "stdafx.h" #include <iostream> void print_out (int n); using namespace std; int main () { int n ; cout << "enter number "; cin >> n; cout << "celye chisla do" << n << "-" << print_out (n) ; return 0; } void print_out (int n) { int i; for ( i=0; i<=n; i++) cout << i << ", "; } и получил ошибку в функции. где ошибка?
В ДНК, наверное... Где лог ошибок? Если тебе нужны качественно сделанные (НО ПЛАТНЫЕ) лабы - пиши в ПМ или аську. Если ты действительно хочешь разобраться с проблемой - покажи лог ошибок.
с 25 ошибками разобрался - перепутал << с >> )) осталась одна большая ошибка, ссылается на функцию Code: 1>Компиляция... 1>stdafx.cpp 1>Компиляция... 1>функция.cpp 1>c:\users\eiti\documents\visual studio 2008\projects\функция\функция\функция.cpp(10) : error C2679: бинарный '<<': не найден оператор, принимающий правый операнд типа 'void' (или приемлемое преобразование отсутствует) 1> c:\vc\vc\include\ostream(653): может быть 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\vc\vc\include\ostream(700): или 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' 1> with /////////////\вот тут очень большой лог и ачат ругается типа много картинок вставил/////////////// 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1>Журнал построения был сохранен в "file://c:\Users\eiti\Documents\Visual Studio 2008\Projects\функция\функция\Debug\BuildLog.htm" 1>функция - ошибок 1, предупреждений 0 ========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========
это муки творчества )) уже 4ый час пытаюсь разобраться. код поправил, теперь ошибка одна. лог ошибки выше