отличается от скобок, по крайней мере, в американском английском. ;-)
ичок в c и хочу разделить строку на две части. Вот мой код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void test(char** a, char** b)
{
const char * c = "abcdef";
*a = (char *)malloc(4* sizeof(char));
*b = (char *)malloc(4* sizeof(char));
strncpy(*a, c, 3);
*a[3] = '\0';
fprintf(stderr, "a -> %s\n", *a);
strncpy(*b, c+3, 3);
*b[3] = '\0';
fprintf(stderr, "b -> %s\n", *b);
}
int main()
{
setvbuf (stderr, NULL, _IONBF, 0);
char *a = NULL;
char *b = NULL;
test(&a, &b);
fprintf(stderr, "a -> %s\n", *a);
fprintf(stderr, "b -> %s\n", *b);
}
я хочу иметьabc
наa
переменная иdef
в переменнойb
, Но моя проблема в том, что это не сSegmentation Fault
, После того, как я запускаю это, я получаю этот вывод:
a -> abc
Segmentation fault
Я не могу понять почему. я используюcygwin
и построить его с помощью команды
gcc test.cpp -o test.exe
Извините, если вопрос звучит глупо. Спасибо.