Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: victoroth в May 03, 2009, 01:12



Титла: Ползване на fstream == отказване на правата
Публикувано от: victoroth в May 03, 2009, 01:12
Здравейте,

Днес се случи нещо което не съм очаквал. Написах проста програма, която ползва fstream библиотеката. След успешна компилация през g++, при опит за пускане на файла той дава следното:
sh: (път до файла) Permission denied

Но чрез терминала става и то безпроблемнно чрез ползване на
cd /път до папката/
./име

По този начин програмата не показва нищо подобно от рода на Permission denied.
Това е нещо много странно което не би трябвало да става попринцип и ме учудва. Ако може още някой да види как при него седят нещата и дали се стартира успешно.
Все пак ето го и самия код на програмата.
Код:
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

int main () {
  ifstream myfile;
  double x[3], y[3];
  int sides[3];


  myfile.open ("TR.INP");
  for(int i = 0; i < 3; i++)
  {
     myfile >> x[i] >> y[i];
  }

{
for(int i = 0; i < 3; i++)
{
   sides[i] =  sqrt(pow((x[i] - x[(i+1)%3]), 2) + pow((y[i] - y[(i+1)%3]), 2));
}
}
  for(int i = 0; i < 3; i++)
{
cout << sides[i] << "\n";
}

  myfile.close();
  return 0;
}

Компилирайте и кажете при вас как е.

П.П Програмата ползва файл за четене с име TR.INP , може да създаде файл и да напишите в него следните данни.
Код:
5 3
6 8
2 6
, но дори и без файла програмата извежда 0 0 0 (достатъчно да проверите дали работи).
* Дистрибуцията която ползвам е Ubuntu 9.04


Титла: Re: Ползване на fstream == отказване на правата
Публикувано от: LinuxFanUNIX в May 03, 2009, 01:21
А защо се опитваш да изпълняваш изпълним файл със sh??? Достатъчно е да използваш ./ ;)


Титла: Re: Ползване на fstream == отказване на правата
Публикувано от: victoroth в May 03, 2009, 01:41
Аз не използвам sh , това дава просто и това е само при тази програма, другите програми нямат проблем при стартирането и се чудя това на какво може да се дължи ???


Титла: Re: Ползване на fstream == отказване на правата
Публикувано от: LinuxFanUNIX в May 03, 2009, 02:36
Код
GeSHi (Bash):
  1. chmod +x file