dies ist das Problem const:c: Typumwandlung Zeiger auf char char Array
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void test_me(const char test_array[]){
printf("%s\n", test_array);
return;
}
void main(void){
char *string = "Successfull cast!";
const char test_array [100];
/*
* something that fills the const char test_array
* with the contend of *string
*/
test_me(test_array);
}
folgende I habe noch versucht:
strcpy(test_array, string); /*gcc: "...discards const qualifier..."*/
dann die:
test_array[0] = string; /*gcc: "assignment of read-only location.."*/
. ..und einige Sachen, die kaum vernünftig sind ...
Jemand schlägt eine Lösung vor?
EDIT: Der Punkt ist, dass die API eines anderen Moduls eine const char[]
als Parameter anfordert, aber ich habe die angeforderten Informationen ausschließlich in Form des Zeigers. Also gibt es keine Möglichkeit, dass ich das test_array mit dem Inhalt von * string deklarieren kann? Ich weiß, const ist schreibgeschützt, aber irgendwann muss ein const deklariert werden?
Remove const in decleration – Fredrik
@Fredrik: Was ist das Problem ein Stringliteral mit? – Olaf