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

Перевести с с# на с++ - C++

Восстановить пароль Регистрация
 
strausik
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 46
02.06.2014, 18:07     Перевести с с# на с++ #1
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string url;
      
            StreamReader SR;
            string buf;
            string mass;
            string[] split;
            string[] arr_general = null;
            ArrayList arr_index = new ArrayList();
            string[] dirMass;
            
            Dictionary<int, string> dic = new Dictionary<int, string>();
            dirMass = Directory.GetDirectories("D:\\7133\\Антон\\SK_L\\Files");
            for (int j = 0; j < dirMass.Length; j++)
            {
                string[] filMass = Directory.GetFiles(dirMass[j], "*.txt");
                int[][] arr_arr_ind = new int[filMass.Length][];
                for (int i = 0; i < filMass.Length; i++)
                {
                    url = filMass[i];
                    SR = new StreamReader(url, Encoding.Default);
                    buf = SR.ReadToEnd();
                    SR.Close();
                    split = buf.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    if (arr_general == null)
                    {
                        arr_general = split;
                    }
                    for (int k = 0; k < split.Length; k++)
                    {
                        string str = split[k];
                        arr_general = arr_general.Concat(split).ToArray<string>();
 
                        int hash = str.GetHashCode();
                        string buff;
                        if (!dic.TryGetValue(hash, out buff))
                        {
                            dic.Add(hash, str);
                        }
                    }
 
                   
                    for (int l = 0; l < split.Length; i++)
                    {
                        ind_arr_arr[l] = dic.FirstOrDefault(x => x.Value == split[l]).Key;
                    }
                    
 
                 }
 
            }
            foreach (KeyValuePair<int, string> kvp in dic)
            {
                Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
            }
            Console.ReadKey();
            
            //foreach (string word in arr_general)
            //{
            //    bool flag_add = true;
            //    foreach (string temp in arr_index)
            //    {
            //        if (word == temp)
            //        {
            //            flag_add = false;
            //            break;
            //        }
            //    }
            //    if (flag_add)
            //    {
            //        arr_index.Add(word);
            //    }
            //}
        }
    }
}
Помогите пожалуйста перевести на с++. Программа считывает файлы из папки и индексирует файлы в каждой папке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 18:07     Перевести с с# на с++
Посмотрите здесь:

Перевести на С. C++
C++ Перевести С++ --> C
C++ Перевести с С на С++
Перевести из C++ на С. C++
C++ Перевести на C++
C++ Перевести из с++ в си
C++ Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
02.06.2014, 22:05     Перевести с с# на с++ #2
strausik, переименовывает от 1 до последнего файла.
Только путь замените, у меня d:\\Test
Кликните здесь для просмотра всего текста
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <conio.h>
#include <dirent.h>
#include <sstream>
 
std::string fileExtension(std::string str)
{
    unsigned found = str.find_last_of(".");
    return str.substr(found + 1);
}
 
int main()
{
    DIR *dir, *dir_child;
    struct dirent *ent;
    struct dirent *ent_child;
    int counter = 0;
    if((dir = opendir("d:\\Test")) != NULL)
    {
       while((ent = readdir(dir)) != NULL)
       {
           std::cout << "\n\n";
           printf("%s\n", ent->d_name);
           std::string dir_path = ent->d_name;
           if(dir_path != "." && dir_path != "..")
           {
               dir_path = "d:\\Test\\" + dir_path;
               char* ch_dir_path = new char[dir_path.size() + 1];
               std::strcpy(ch_dir_path, dir_path.c_str());
               
               if((dir_child = opendir(ch_dir_path)) != NULL)
               {
                   while((ent_child = readdir(dir_child)) != NULL)
                   {
                       std::string temp = ent_child->d_name;
                       std::string extension = fileExtension(temp);
                       temp = dir_path + "\\" + temp;
                       std::cout << "\nOld name: " << temp;
                       char* old_path = new char[temp.size() + 1];
                       std::strcpy(old_path, temp.c_str());
                       counter++;
                       std::ostringstream convert;
                       convert << counter;
                       temp = dir_path + "\\" + convert.str() + "." + extension;
                       std::cout << "\nNew name: " << temp;
                       char* new_path = new char[temp.size() + 1];
                       std::strcpy(new_path, temp.c_str());
                       
                       int result;
                       result = rename(old_path, new_path);
                               
                       if(result == 0)
                           puts("File successfully renamed");
                       else
                       {
                           perror("Error renaming file");
                           counter--;
                       }
                       delete [] old_path, new_path;
                   }
                   closedir(dir_child);
                   counter = 0;
               }
               delete [] ch_dir_path;
           }
       }
       closedir(dir);
    }
    else
    {
       perror("");
       return EXIT_FAILURE;
    }
    
    std::cout << "\nOperation succeeded\n";
    getch();
    return 0;
}
Yandex
Объявления
02.06.2014, 22:05     Перевести с с# на с++
Ответ Создать тему
Опции темы

Текущее время: 01:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru