Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Netzlaufwerke verbinden C

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

03.09.2007, aktualisiert 01.10.2007, 9060 Aufrufe, 19 Kommentare

Hallo C Freaks

Ich möchte ein Netzlaufwerk verbinden.
Da ich noch nicht soviel erfahrung mit Netzwerkprogrammierung in C habe,bediente ich mich der Funktion
System(), der ich ein Consolen Befehl übergeben kann.Doch leider funktionierts so nicht,kann mir jemand helfen?




#include <stdio.h>

int system();

int main(void)

{
char c;
printf("bitte geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >NUL, c" );
getchar();
return 0;
}
Mitglied: gnarff
03.09.2007 um 03:45 Uhr
Da gibt es doch ein schoenes Tutorial zum Thema Netzwerkprogrammierung in C

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 03:51 Uhr
hallo

Unterlagen habe ich genug,
doch möchte es halt so lösen !

mfg lb
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 03:57 Uhr
Was ist es denn fuer ein Netzlaufwerkstyp?
Welche Plattform?
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:05 Uhr
hallo das musst du ja nicht umbedingt wissen..

Console: net use K: \\IP\Folder Pass /u:user

File server mit AD.

Jetz möchte ich eifach den obigen Befehl ausführen mit der funktion System() von C.


ps:Das ganze funktioniert alles do das problem ist ich kann der Funktion System() keine Variable übergeben¨! wie password


mfg lb
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:15 Uhr
Denke mal daran, wann man einen Wert, einen Zeiger oder eine Referenz als Parameter uebergibt...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:19 Uhr
hallo


So würde es gehen..



#include <stdio.h>

int system();

int main(void)

{

system("net use s: \\\\172.16.0.2\\\Music pass /u:lowbyte >NUL" );
getchar();
return 0;
}


Aber ich möchte ja pass und user ändern können.!?

mfg lowbyte
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:30 Uhr
Wo sind die bisher geschrieben?
Dazu musst Du ja eine Zeichenkette in eine Datei schreiben koennen, bzw. die alten Werte ueberschreiben...das sehe ich in Deinem Script nicht...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:37 Uhr
hallo ich möchte nur das wissen was ich gefragt habe!

#include <stdio.h>

int system();

int main(void)

{
char c;
printf("geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

printf("hall %s", &c);
system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >>test12.txt", &c);
getchar();
return 0;
}
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 04:44 Uhr
Schon ein wenig besser...
Hast Du Dich schon einmal eingehender mit Input/Output und File-Manipulation beschaeftigt?
Ich beantworte Dir doch Deine Fragen...
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 04:55 Uhr
hallo

Ich Programmiere erst seit etwa 1 Monat C und bin noch nicht gerade der Held darin.
Wie sieht den deine Lösung aus.?

mfg lowbyte
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 05:04 Uhr
Deine Loesung ist doch gar nicht schlecht...
Was moechtest Du.. ein Passwort und einen Benutzernamen aendern, also zwei Strings in einer Datei abaendern.
Wo also liegt der Username und wo das Passwort, muss man sich fragen...
Und, wie fuehre ich I/O File Manipulationen unter stdio.h aus...

Ich kann nur Cobol, Fortran und Algol ...fuer andere Sprachen muss ich mich durch Befehls-Referenzen quaelen...

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 05:31 Uhr
hallo

#include <stdio.h>

int system();

int main(void)

{
char c;
printf("geben sie ein password ein:");
while( (c = getc(stdin)) !='\n');

system("net use s: \\\\172.16.0.2\\\Music %c /u:lowbyte >NUL", &c);
getchar();
return 0;
}



So müsste es sein.
Aber es funktioniert nicht..
weil die system() funktion %c nicht formatiert.
Bitte warten ..
Mitglied: gnarff
03.09.2007 um 06:07 Uhr
Imho fehlt die <stdlib.h>
Vllt. moechtest Du Dir auch einmal die Benutzung von system() genau betrachten
saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
03.09.2007 um 06:18 Uhr
hallo

Also funktioniert das mit system() nicht!
so wie ich das verstanden habe.Jedenfals nicht mit variablem pass und user etc...

mfg lowbyte
Bitte warten ..
Mitglied: Guenni
09.09.2007 um 09:48 Uhr
@lowbyte1

Hi,

du kannst die Kommandozeile Stück für Stück
zusammensetzen, und dann die Variable komplett
an system übergeben.

01.
char ordner[64];
02.
char pass[8];
03.
char user[16];
04.
strcpy(ordner,"net use z: \\\\server\\system");
05.
strcpy(user,"/user:guenni");
06.
//Passwort eingeben
07.
scanf("%s",pass);
08.
//Leerzeichen anhängen
09.
strcat(ordner," ");
10.
//Passwort anhängen
11.
strcat(ordner,pass);
12.
//Leerzeichen anhängen
13.
strcat(ordner," ");
14.
//User anhängen
15.
strcat(ordner,user);
16.
//Testausgabe
17.
//printf("%s\n",ordner);
18.
system(ordner);
19.
return 0;
Gruß
Günni
Bitte warten ..
Mitglied: lowbyte1
14.09.2007 um 21:56 Uhr
hallo Günni

Danke für die Kompetente Antwort.



lowbyte
Bitte warten ..
Mitglied: lowbyte1
01.10.2007 um 10:49 Uhr
HALLO

Da ich immer wie geschickter in C werde...dachte ich ich Poste mal mein kleines Programm
zum Netzlaufwerke verbinden.Das Prog,ist auf jeden fall zu verbessern.auserdem ist es auf mich zugeschnitten, von dem her.....
01.
#include <stdio.h>
02.
#include <string.h>
03.
#include <stdlib.h>
04.
 
05.
#define EXIT	0
06.
#define FAILURE	1
07.
#define MAX		100
08.
#define CLS		system("cls");
09.
 
10.
char authpuffer[150];
11.
char user[16];
12.
char passwd[31];
13.
 
14.
char *devices[] = {  "net use T: \\\\172.16.0.2\\MOVIES",
15.
                     "net use V: \\\\172.16.0.2\\MOVIES1",
16.
                     "net use W: \\\\172.16.0.2\\MOVIES2",
17.
                     "net use X: \\\\172.16.0.2\\PROGRAMME",
18.
                     "net use Y: \\\\172.16.0.2\\DIV",
19.
                     "net use S: \\\\172.16.0.2\\Music" };
20.
 
21.
int connection(void);
22.
int disconnection(void);
23.
void status(void);
24.
void load(void);
25.
short auth(dev_id);
26.
 
27.
 
28.
int system();
29.
 
30.
int main(void)
31.
	{
32.
 
33.
		int menuop;
34.
 
35.
		system("Color 0a && Title Secure Fileserver Client ver.1.31");
36.
		load();
37.
		system("CLS");
38.
 
39.
		ret : puts("\a"); 	CLS;
40.
	
41.
 
42.
		printf("\n\n  --   Net-device-Client   --   \n");        
43.
 
44.
 
45.
		puts("\n\n");
46.
 
47.
		printf(" [1] Connection\n\n");
48.
 
49.
		printf(" [2] Disconnect\n\n");
50.
 
51.
		printf(" [3] Server-Status\n\n");
52.
 
53.
		printf(" [0] Exit\n\n");
54.
 
55.
 
56.
		printf("Input:");
57.
 
58.
		scanf("%1i", &menuop);
59.
		fflush(stdin);
60.
	
61.
 
62.
		switch(menuop) {
63.
 
64.
			case 1:	connection();
65.
					goto ret;
66.
 
67.
			case 2: disconnection();
68.
					goto ret;
69.
 
70.
			case 3: status();
71.
					goto ret;
72.
 
73.
			case 0:	return EXIT;
74.
 
75.
					default:fprintf(stderr,"falsche eingabe !!");
76.
				
77.
		}
78.
 
79.
     goto ret;
80.
}
81.
 
82.
// Connection 
83.
 
84.
int connection()
85.
	{
86.
		char yn;
87.
		int i, x;
88.
//		short reply;
89.
 
90.
		printf("\a");
91.
		CLS;
92.
		printf("\nNetzlaufwerke verbinden ? (y/n)\n\n");
93.
		scanf("%1c", &yn);
94.
	
95.
		if(yn == 'y'){
96.
 
97.
		CLS;
98.
 
99.
		printf("\n\nBitte Authentifizieren\n");
100.
 
101.
		printf("\nUsername eingeben:\n");
102.
		scanf("%15s",&user);
103.
		fflush(stdin);
104.
		printf("\nPassword eingeben:\n");
105.
		scanf("%30s", &passwd);
106.
		fflush(stdin);
107.
 
108.
		system("net use /persistent:no >nul");
109.
 
110.
		for(x=0 ; x<6 ; x++) {
111.
			if(auth(devices[x])) {
112.
				fprintf(stderr,"ein netzlaufwerk verbindung gescheitert ...");
113.
			}
114.
 
115.
		}
116.
 
117.
				fprintf(stderr,"netzlaufwerk erfolgreich verbunden ...");
118.
 
119.
 
120.
 
121.
				for(i = 0;(i < 800000000l); i++);
122.
						;
123.
 
124.
				return EXIT;
125.
 
126.
 
127.
			}
128.
 
129.
			else if(yn == 'n');{
130.
				return EXIT;
131.
			}
132.
 
133.
		printf("falsches zeichen");
134.
 
135.
		for(i = 0;(i < 800000000l); i++);
136.
			;
137.
		
138.
 
139.
		  return EXIT;
140.
		
141.
	}
142.
 
143.
 
144.
 
145.
 
146.
// Disconnect
147.
 
148.
 
149.
int disconnection()
150.
	{
151.
		char yn;
152.
		long i;
153.
		CLS;
154.
			puts("\n");
155.
			sp:printf("\a"); 
156.
			printf("\n\nNetzlaufwerke trennen ? (y/n)\n\n");
157.
			scanf("%1c", &yn);
158.
			fflush(stdin);
159.
			CLS;
160.
	
161.
		if(yn == 'y'){
162.
 
163.
			system("net use T: /delete >nul");
164.
			system("net use V: /delete >nul");
165.
			system("net use W: /delete >nul");
166.
			system("net use X: /delete >nul");
167.
			system("net use Y: /delete >nul");
168.
 
169.
			if( !(system("net use S: /delete >nul"))){
170.
 
171.
					printf("Netzlaufwerke wurden getrennt ...");
172.
 
173.
			}else{
174.
 
175.
					CLS;
176.
					fprintf(stderr,"\nFehler bei der Netzlaufwerk trennung");
177.
			}
178.
 
179.
				for(i = 0;i < 800000000; i++)
180.
						;
181.
				return EXIT;
182.
			}
183.
			
184.
			else if(yn == 'n'){
185.
 
186.
				return EXIT;
187.
			}
188.
 
189.
			
190.
			printf("FALSCHES ZEICHEN");
191.
			for(i = 0;i < 800000000; i++);						;
192.
			CLS;
193.
			goto sp;
194.
				
195.
	}
196.
 
197.
 
198.
 
199.
 
200.
//Server-Status
201.
 
202.
 
203.
void status(void)
204.
	{
205.
	long i;
206.
	CLS;
207.
	if(system("ping -n 1 -w 10 172.16.0.2>nul") == 0)
208.
			printf("\n\n Server 172.16.0.2 Online \n\n");
209.
				else
210.
			printf("\n\n Server 172.16.0.2 Offline\n\n");
211.
 
212.
		for(i = 0;(i++ < 800000000l);)
213.
			;
214.
	}
215.
 
216.
 
217.
// Loading-Funktion
218.
 
219.
 
220.
void load(void)
221.
	{
222.
	char buffer[]= "LOADING";
223.
	int zahl = 0;
224.
 
225.
			do
226.
			{
227.
				printf("%d%%", zahl);
228.
				CLS;
229.
				printf("\n\n\n\n\n\t%s\t", &buffer);
230.
				zahl++;
231.
			}
232.
		while(zahl < MAX);
233.
 
234.
	}
235.
 
236.
 
237.
 
238.
short auth(char *device)
239.
	{
240.
 
241.
 
242.
		strcpy(authpuffer, device);
243.
		strcat(authpuffer, " ");
244.
		strcat(authpuffer, passwd);
245.
		strcat(authpuffer, " /u:"); 
246.
		strcat(authpuffer, user);
247.
		strcat(authpuffer, " >NUL");
248.
 
249.
		if(!(system(authpuffer))){
250.
		
251.
			return EXIT;
252.
 
253.
		} else {
254.
			
255.
			return FAILURE;
256.
 
257.
		}
258.
 
259.
	}
260.
 
261.
 

// greetz lowbyte
Bitte warten ..
Mitglied: gnarff
01.10.2007 um 15:43 Uhr
Da haben wir ja endlich stdlib.h und auch system() wird nun richtig angewandt...;)
Bitte warten ..
Mitglied: lowbyte1
01.10.2007 um 20:48 Uhr
hey alter kumpel...

ja sieht fast danach aus was !!

cyu lowbyte
Bitte warten ..
Ähnliche Inhalte
TK-Netze & Geräte

Verbind 2 Hauser mit Kupfer und einen Netzwerkisolator

Frage von Hampi7273TK-Netze & Geräte3 Kommentare

Ich hab gelesn das in der Medizin Technik oft mit Netzwerkisolator gebaut wird. Netzwerkisolatoren bilden innerhalb einer kupfergeführten Ethernet-Datenleitung ...

C und C++

Von C auf C++ umsteigen

Frage von jangruC und C++3 Kommentare

Sehr geehrte Community, wie Sie meiner Überschrift bereits entnehmen konnten, habe ich vor von C auf C umzusteigen. Da ...

C und C++

Fehlendes verständiss von C und C++

Frage von zelamediaC und C++8 Kommentare

Hallo, ich wollte mich in nächster zeit mit C auseinandersetzen habe aber vorher eine frage die mich schon immer ...

C und C++

Förderband C++

gelöst Frage von BudSpenserC und C++3 Kommentare

Hallo Ich bräuchte etwas hilfe Ich programmiere derzeit für mich ein Spiel, nur das wichtigste fehlt mir, das Förderband ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 1 TagiOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 4 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 4 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk31 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless22 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
Frage von Leo-leHosting & Housing22 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...