Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Неприятная проблема с массивом строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Извлечь элемент из вектора http://www.cyberforum.ru/cpp-beginners/thread334086.html
Пожалуйста, помогите разобраться. Это функция разбивки строки на лексемы, и копирования результатов разбивки в вектор. void Tokenize(const string& str, vektor<string>&tk, const string&...
C++ Крестики-нолики Захотелось написать игру Крестики-нолики но тут возник один вопрос, как будет ходить компютер, если пользоватся rand-ом то компютер будет играть тупо, а if-ами будет очень длинно, как же решить эту... http://www.cyberforum.ru/cpp-beginners/thread334077.html
Дружественные функции ошибка C++
Проблема следующая при удалении временной переменой возникает ошибка в 51 строке #include <iostream> #include <Windows.h> using namespace std; class CSnacks; class CDrinks; class CSnacks {...
считать в вектор пар все числа, отличные от нуля C++
У меня такая задача: считать в вектор пар все числа, отличные от нуля. В паре - первое число - всегда типа int, второе - double. Написал небольшую ф-цию. Но не получается считать. "Debug...
C++ Модификация перезагрузки http://www.cyberforum.ru/cpp-beginners/thread334045.html
Программа рабочая вот такая #include <iostream> #include <cstring>//для strcpy(),strlen() using namespace std; #include <process.h>//для exit() class String
C++ Автозапуск процесса Dev-cpp Как сделать автозапуск процесса по включении компа, желательно через винапи? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
18.07.2011, 17:32
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
 
#pragma comment(lib, "User32.lib")
    
int main(void){
    char ** files;
    size_t count, pos;
    WIN32_FIND_DATAA wfd;
    HANDLE find;
    
    if ( ( find = FindFirstFileA("*.*", &wfd) ) == INVALID_HANDLE_VALUE ){
        fprintf(stderr, "Shit happens!\n");
        FindClose(find);
        exit(1);
    }
    
    files = NULL;
    count = 0;
    do {
        if ( strcmp(wfd.cFileName, ".") && strcmp(wfd.cFileName, "..") ){
            if ( ! ( files = realloc(files, sizeof(char*) * (count + 1)) ) ){
                perror("realloc");
                exit(1);
            }
            if ( ! ( files[count++] = strdup(wfd.cFileName) ) ){
                perror("strdup");
                FindClose(find);
                exit(1);
            }
        }
    } while ( FindNextFileA(find, &wfd) );
    
    FindClose(find);
    
    if ( ! files ){
        fprintf(stderr, "No files found!\n");
        exit(1);
    }
    
    printf("Files in current directory:\n");
    for ( pos = 0; pos < count; ++pos )
        printf("%s\n", files[pos]);
    
    for ( pos = 0; pos < count; ++pos )
        free(files[pos]);
    free(files);
    exit(0);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru