Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
AlexSun
18 / 16 / 4
Регистрация: 03.11.2010
Сообщений: 169
1

Ошибка и предупреждения в своей функции

12.04.2011, 22:41. Просмотров 1101. Ответов 1
Метки нет (Все метки)

Нужно вывести имена файлов без расширения.
Написал функцию:
C
1
2
3
4
5
6
7
int substr(char *str, char c){
    int n;
    char *cut;
    n = strrchr(str,c); // [BCC32 Warning] yahoo.c(111): W8069 Nonportable pointer conversion
    strncpy(cut,str,n);
    return cut; // [BCC32 Warning] yahoo.c(111): W8069 Nonportable pointer conversion
}
Вызываю здесь:
C
1
strcpy(groupmenu[i],substr(ffblk.ff_name,'.')); // [BCC32 Error] yahoo.c(42): E2342 Type mismatch in parameter '__src' (wanted 'const signed char *', got 'int')
Что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 22:41
Ответы с готовыми решениями:

Избиваться от предупреждения: "неявная декларация функции «strlen»?
Добрый день!Подскажите, пожалуйста, как избиваться от предупреждения:"неявная...

Ошибка в своей версии strcat
не могу понять в чем ошибка, помогите разобраться в коде #include <stdio.h>...

Выдает предупреждения
Подскажите пожалуйста почему выдает предупреждения на функциях scanf начиная с...

GCC: Как отключить предупреждения
Очень нужно отключить предупреждения.

Вывод предупреждения, объясните причину
Пишу код, компилирую, а он выдает предупреждение. Пример кода: #include...

1
xAtom
918 / 743 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
13.04.2011, 01:32 2
Извини но столько глупых ошибок в маленьком коде, только начинаешь, твой код:
C++
1
2
3
4
5
6
7
int substr(char *str, char c){
        int n;
       char *cut;  - почему здесь ничего нет, и куда хочешь записывать строку
       n = strrchr(str,c); // n-тип числовой подстрока не будет у тебя числовая а символьная char*
       strncpy(cut,str,n); // n-что ты под-строку в размер строк имеет общего,тебе самому не смешно
        return cut; // ты объявил возврат функции типом int а пытаешься присвоить указатель char*                не знаю на что
}
Короче на тебе пример готовый вставляй его в свой код и вперёд:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const char*  substr(char* str, char  c)  {
     const char* iter = str;
     while( *iter != '\0' ) {
    if( *iter == c ) {
          int i = ~(str - iter) + 1;
          *((str) + i) = '\0';
          return str;
    }
    *iter++;
     }
     return NULL;
}
 
 
char buff[32];
strcpy(buff, "image.jpg");
printf("%s\n", substr(buff, '.') );
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2011, 01:32

Использование функции в своей программе из своей dll
Среда разработки Visual Studio 2008 Язык C++ Написал dll как в примере на...

Ошибка при создании проекта: 2008 не является допустимым номером предупреждения
И снова привет, ребят. Спасибо вам за Г. Шилдта, очень помогло. Так вот, у...

Код не дожидается своей функции. Необходимо строго остановить работу кода до появления функции
Собственно пару слов о коде. Организован бесконечный цикл ожидания приёма 1 с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru