C++ Compiler: ...muss sich eine Klasse/Struktur/Union befinden

feuerfuchs

Lt. Commander
Registriert
Dez. 2007
Beiträge
1.100
Hi,
habe ein Problem.
Möchte ein Programm erstellen, das einen kleinen String vorließt.
Abgesehen davon, dass noch der ein oder andere Logikfehler drin ist, meckert der Compiler:


1>------ Erstellen gestartet: Projekt: sprecher2, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>sprecher2.cpp
1>.\sprecher2.cpp(17) : error C2228: Links von ".find" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist 'char [60]'
1>.\sprecher2.cpp(22) : error C2228: Links von ".substr" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist 'char [60]'
1>Das Buildprotokoll wurde unter "file://c:\Users\feuerfuchs\Documents\Visual Studio 2008\Projects\training\funktionen1\sprecher2\sprecher2\Debug\BuildLog.htm" gespeichert.
1>sprecher2 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Der Quelltext sieht so aus:

Code:
#include "stdafx.h"
#undef UNICODE


#include <windows.h>
#include <cstring>
#include <iostream>

#pragma comment(lib,"winmm.lib") //nur bei vs-c++
// habe ich (feuerfuchs) so vom i-net kopiert

int main(void)
{
	char text[60] = "hallo toll";

	// leerzeichen finden
	int leerzeichen;
	leerzeichen = text.find(" ", 0);


	// wort finden
	char wort[60];
	wort = text.substr(0, leerzeichen);
	
	char datei[30];

	strncpy( datei, wort, sizeof(datei)-1 );
	strncat( datei, ".wav", 1 );
	

	std::cout << datei;

	sndPlaySound(datei, SND_SYNC);
    

	
}

Meine IDE ist Visual C++ 2008 Express Edition.
Was mache ich falsch? find und substr gehören doch zu cstring, genauso sieht es aus, wenn ich string einbinde anstatt cstring.
Hoffe ihr könnt mir helfen, die Letzten 2 Fehler zu beseitigen ;)
danke schonmal im vorraus ;)
 
Zuletzt bearbeitet:
thx für deine Hilfe
Lösung s. hier
 
Zurück
Oben