Я не программист на C, но мне нужно получить простой POC для одного из наших приложений, который может быть расширен с помощью C. У меня есть компиляция кода, передавая данные прямо через мой модуль и мой идея состоит в том, чтобы передать обратную строку символов, переданную в, чтобы доказать, что мой код действительно что-то сделал с данными.Обработка функций и указателей
настоящее время у меня этот код, чтобы пройти каждый вход прямо на выходе:
INFA_CTSetData(outputGroupPorts[i],
INFA_CTGetDataStringM(inputGroupPorts[i]));
INFA_CTGetDataStringM
функция определяется как:
char* INFA_CTGetDataStringM(INFA_CT_INPUTPORT_HANDLE dataHandle);
Я нашел функцию, чтобы изменить строку here
char *mystrrev(char *s)
{
char *start = s, *t = strchr(s, '\0'); /* point to end of string */
/*
* Swap the values at the beginning (pointed to by 's') and the end
* (pointed to by 't'); 's' and 't' meet in the middle.
*/
for (--t/* skip terminating null character */; s < t; ++s, --t)
{
/* Just your run-of-the-mill swap here. */
char temp = *s;
*s = *t;
*t = temp;
}
return start;
}
Что я не могу сделать, это передать результат обращения к INFA_CTGetDataStringM
по mystrrev
и по состоянию на INFA_CTSetData
.
INFA_CTSetData(outputGroupPorts[i],
mystrrev(INFA_CTGetDataStringM(inputGroupPorts[i])));
производит эти ошибки при компиляции
p_Reverse.c:155: error: conflicting types for 'mystrrev'
p_Reverse.c:145: error: previous implicit declaration of 'mystrrev' was here
лет, если Visual Basic и C# сделали мою жизнь слишком легко - может кто-нибудь помочь мне получить этот код работает? Я слепо попробовал добавить *
и &
, чтобы получить разные ошибки компилятора - и теперь я в тупике.