Добрый вечер, у меня есть 2 функции, и каждая из них принимает в качестве аргумента указатель на символ:
char pointer[255];
func1(char* pointer)
{
...
memcpy(pointer,some_char,strlen(something));
return;
}
func2(char* pointer)
{
...
if (pointer==someother_char) exit(0); //FAILs
//also I have
if(pointer==someother_pointer2char); // FAILs
}
Теперь я попробовал strstr, strcmp и т. Д.не работаетХотел попробовать memcmp , но у меня нет статического len.Поскольку мне нужно сравнить char * с char и char * с char * Мне понадобятся два правильных решения?
Итак, как их сравнить?указатели (на самом деле пуанты) в кратчайшие сроки?
Спасибо.
РЕДАКТИРОВАТЬ
Благодаря Wallacer и Code Monkey сейчасдля сравнения char * to char я использую следующее:
func1(char* ptr){
char someother_char[255];
char *ptr_char = NULL; //I have to strcmp a few values so this is why I initialize it first
...
ptr_char = someother_char;
if (strcmp(ptr,ptr_char) == 0) //gtfo and it does...
...
ptr_char = some2nd;
if(strcmp...
Может быть, есть какие-то предложения ... (хмм внешняя функция для сравнения?)
Suggestion1 (от Code Monkey)
#include <stdio.h>
int main(void) {
char tempchar[255];
tempchar[0] = 'a';
tempchar[1] = 'b';
tempchar[2] = '\0';
char *ptr_char;
ptr_char = &tempchar[0];
printf("%s", ptr_char);
return 0;
}