Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

[C++] Programm stürzt bei zu langen Dateinamen ab

Diskussion: [C++] Programm stürzt bei zu langen Dateinamen ab im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo! Ich habe seit einer geschlagenen Stunde ein Problem bei einem recht einfachem Programm. Es sollte nur automatisch Dateien ...

Antwort
Alt 07.01.08, 14:49   #1 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard [C++] Programm stürzt bei zu langen Dateinamen ab

Anzeige

Hallo!
Ich habe seit einer geschlagenen Stunde ein Problem bei einem recht einfachem Programm. Es sollte nur automatisch Dateien umbenennen können. Merkwürdigerweise stürzt das Programm bei zu kurzen Dateinamen ab. Jedenfalls habe ich diese Abhängigkeit feststellen können.


Hier mal der C++ Code:
(Mit MS-VC++ 6.0 gecoded, nicht sehr schön geschieben, ich weis ^^)

Code:
#include <stdio.h>
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
#include <vector>
#include <time.h>
#include <io.h>

using namespace std;

void GetFolderStruct(bool dirs, vector<string>& Files, char* folder)
{
	struct _finddata_t c_file;
	long hFile;
	
	/* Erste Datei im momentanen Ordner finden */
   if((hFile = _findfirst("*.*", &c_file)) == -1L)
      printf("No subdirectories in current directory!\n");

      if((c_file.attrib)){
			if (dirs == true && (c_file.attrib & _A_SUBDIR ))
				Files.push_back(c_file.name);
			if (dirs == false)
				if (!(c_file.attrib & _A_SUBDIR))
					Files.push_back(c_file.name);
         }

      /* Die restlichen *.* Dateien finden */
      while(_findnext(hFile, &c_file) == 0){
      if((c_file.attrib)){
			if (dirs == true && (c_file.attrib & _A_SUBDIR ))
				Files.push_back(c_file.name);
			if (dirs == false)
				if (!(c_file.attrib & _A_SUBDIR))
					Files.push_back(c_file.name);
         }
      }
   _findclose(hFile);
}


int main(int argc, char* argv[])
{
	vector<string> Files;
	GetFolderStruct(false,Files,"Debug");
	
	string now,n2,such,ers,temp;
	int marker;
	cout << "Zeichen suchen:";
	cin >> such;
	cout << "\nErsetzen mit:";
	cin >> ers;
	cout << "\n\n";

	for (int i=0;i<Files.size();i++)
	{
		now=Files[i];
		for (int j=0;j<now.size();j++) //Relativen Pfad extrahieren
		{
			if (now.substr(i,1)=="/")
				marker=i;
		}
		cout << "\n" << now.substr(0,marker);
		n2 = now.substr(0,marker);
		
		for (int k=0;k<n2.size()-such.size();k++)
		{
			if (n2.substr(k,such.size()) == such)
			{
				
				temp="";
				temp.append(n2.substr(0,k));
				temp.append(ers);
				temp.append(n2.substr(k+such.size(),n2.size()-k-such.size() ) );
				cout << "\n" << temp;
				rename(n2.c_str(), temp.c_str());
			}
		}
	}

	//rename("alt", "neu");

	return 0;
}
Danke schonmal im Vorraus :)

Edit: Hab den Fehlerverursachenden Bereich eingekreis. (jetzt rot markiert) // oder auch nicht >.>

Edit2:Solved :D
Fehler lag doch woanders: War auch ein blöder Fehler ^^
Die Funktion hat die Pfade schon relativ ausgegeben, und die Schleife dafür in der main hat den Debug error hervorgerufen...
Extinction ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » [C++] Programm stürzt bei zu langen Dateinamen ab
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MS Access - langen text in Datenbank speichern kito Code Kitchen 2 03.08.06 08:02
Dateinamen aus Liste extrahieren ratloser Die Problemzone 3 23.01.06 15:26
!?Liste von Dateinamen automatisch erstellen?! !SHOG! Die Problemzone 4 14.10.05 16:00
Dateinamen als Links heschx2 Windows 2 08.10.03 19:07
LANGE-DATEINAMEN-UNTERSTÜTZUNG TwoFinGaZ Windows 5 12.03.02 18:54


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61