Vektorkomponenten strings zuweisen
-
Hi sicher kann mir wer helfen,
meine frage ist:
Warum kann ich das unten nicht so deklarieren und zuweisen wie ich es unten gemacht habe???
Ich will eigentlich den Komponenten von name, die strings, sprich die Namen der txt-Dateien zuweisen.
Danke für eure Hilfe!!!main() { char name[3][8], zahl[27]; int i, j, sum=0; FILE *EIN; name[1]="pi1.txt"; name[2]="pi2.txt"; name[3]="pi3.txt";
die Fehlermeldung die ich erhalte lautet:
--------------------------------------------------------------
C:\Dokumente und Einstellungen\Hallo\Eigene Dateien>bcc32 pi.c
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
pi.c:
Error E2277 pi.c 10: Lvalue required in function main
Error E2277 pi.c 11: Lvalue required in function main
Error E2277 pi.c 12: Lvalue required in function main
*** 3 errors in Compile ***
--------------------------------------------------------------
-
Hallo!
Deine zuweisung mit "=" ist nicht möglich, benutz dafür ne Funktion aus der string.h!
Außerdem: der Feldindex beginnt immer mit 0!!!So müsste es aussehen:
#include <stdio.h> #include <string.h> int main(void) { char szName[3][8], szZahl[27]; int i,j,sum=0; FILE* ein; strncpy(szName[0],"pi1.txt",7); strncpy(szName[1],"pi2.txt",7); strncpy(szName[2],"pi3.txt",7); //... }
Btw: mit der Funktion strncpy kannst du die Anzahl der zu kopierenden Zeichen angeben; natürlich gut für die Sicherheit
-
Jo Danke so funzt es, aber warum geht das mit = nicht?
-
Weil man Arrays nicht mit = zuweisen kann.