Помощ - Търси - Регистрирани - Календар
Пълна версия: Грешка в С++ програма
UniBG Forums > Дискусии > Dexter's Lab > Програмиране
GUEST
Здравейте! При изпълнение тази програма "гърми", при положение, че при компилиране няма никакви грешки, но явно не е така:
CODE
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void take_links(string filename)
{
      const int MAX_LINKS = 20;
      char* temp = "";
      char* temp2 = "";
      string links[MAX_LINKS]= { ""};
      int i, j = 0;
      ifstream in(filename.c_str());
      ofstream out("test.html");
      while(in.getline(temp,128) != NULL){
                                    for(i = 0; i < 128; i++){
                                          if((*(temp+i) == 22)&&(*(temp+(i+1)) != 22)){
                                        if(*(temp+i)==23) break;
                                        *(temp2+i) = *(temp+i);
                                                    }
                                                    }
                                        links[j] = temp2;
                                        //cout << links[j] <<< endl;
                                        j++;
                                        }
      j = 0;
      while(links[j]!="") j++;
      for(int ctr = 0; ctr < j; ctr++) out << links[ctr] << endl;
}

int main()
{
    string file_ = "FAIL.TXT";
    take_links(file_);
    cin.ignore();
    return 0;
}
.
Polizei
QUOTE(GUEST @ Sep 21 2007, 10:11 PM) *
char* temp = "";
char* temp2 = "";

Не мислиш ли че не трябва да задяляш указатели, а масиви от символи, все пак прототипа на функцията е getline(char *, size_t), а char * е именно или указател към променлива, или указател към масив (не че има разлика, тъй като масивите се представят именно с указатели)
CODE
    char temp[128];
    char temp2[128];

И слагай по-смислени имена на тия променливи, все пак тоя код трябва да се чете и от хора понякога, не само от компилатора...
Това е семпла версия на форума. За да видиш пълната версия, която има повече информация, по-добра подредба и снимки, натисни тук.
Invision Power Board © 2001-2008 Invision Power Services, Inc.