Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung C und C++

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

03.09.2007, aktualisiert 01.10.2007, 8681 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 !

Mit freundlichen Grüßen 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


Mit freundlichen Grüßen 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.!?

Mit freundlichen Grüßen 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.?

Mit freundlichen Grüßen 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...

Mit freundlichen Grüßen 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
gelöst Netzlaufwerke mit einer VPN Verbindung verbinden lassen (16)

Frage von M.Marz zum Thema Windows Server ...

Windows 10
Surface 4 Pro Netzlaufwerk verbinden (4)

Frage von Yannosch zum Thema Windows 10 ...

Windows Server
gelöst Windows Server 2012 mit Fritzbox per VPN verbinden (13)

Frage von StefanT81 zum Thema Windows Server ...

Switche und Hubs
gelöst 2 VLANs, tragged und mit link aggregation oder Verbinden oder einzeln (1)

Frage von ADORSE zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...