Hellihello Vinzenz,
Danke für den Comment-Code.
* @return Anzahl der Teilzeichenketten
einen Zeiger auf ein Array kann ich nicht returnen? Returen eines int ist ja offenbar unpromblematisch:
#include <stdio.h>
int add(int a,int b)
{
return a+b;
}
int main()
{
printf("%d plus %d gleich %d", 1, 2, add(1, 2));
}
*
* Seiteneffekt: Speicher auf dem Heap wird allokiert
*/
int SplitLinesCsv(char* line, char** result) {
warum "char* line" und nicht "char *line"?
// Allokiere den Speicher für das notwendige Array von Zeigern auf char
auf "char"?
Wie werden denn in "C" Variablen per Referenz übergeben? Müssen sie vorher global definiert sein.
Über den Heap und das Allozieren muss ich mich wohl noch schlau machen. Mit den Tiefen der CSV-Logik hat das natürlich nur wenig zu tun. Das hatte ich mit dem Impulsgeber aber schon besprochen und wir hatten uns darauf geeinigt, diesen herausgelösten Aspekt als Übung zu verstehn.
Der Schüler macht/versucht das übrigens mit "*result_string++ = *line++".
Dank und Gruß,
Robert aka