[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    А Qt кто-нть юзал?

    как исправить:



    в настройках ничего не нашел.
     
  2. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Насколько я помню что бы юзайть qt из под visual studio, его там надо сначала собрать.
    Используй лучше QtCreator или NetBeans.
     
  3. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    я про QtCreator и говорю.
     
  4. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Инструменты -> Параметры -> Qt4 ->
     
  5. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Можно ли хранить в std::string текст с кодировкой utf8?
    Если да, то как?
     
  6. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    да, данный сабж оочень хорошо гуглиться
     
  7. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Ессно перед тем как написать сюда я погуглил, но кроме как советов про "iconv" больше ничего нужного мне не было...
    Хотелось как-нибуть попроще, без всяких там библиотек)))
    Ещё есть вариант с qt, но это на крайний случай.
     
  8. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    http://msdn.microsoft.com/en-us/library/aa450989.aspx
    http://msdn.microsoft.com/en-us/library/ms886760.aspx
    =======================
    и кури конвертацию одного типа к другому
     
    1 person likes this.
  9. winflip

    winflip New Member

    Joined:
    13 May 2009
    Messages:
    36
    Likes Received:
    1
    Reputations:
    0
    Переписал, выводит частично не те числа:
    Code:
    // http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82_%D0%9C%D0%B8%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%A0%D0%B0%D0%B1%D0%B8%D0%BD%D0%B0
    #include <cmath>
    #include <iostream>
    bool is_prime(int);
    int main(){
        using namespace std;
        int a,b;
        cin >> a >> b;
        for(int i=a;i<=b;i++){
              if(is_prime(i)){
                   cout << i << " ";
              }
        }  
        system("PAUSE");  
    }
    bool is_prime(int m){
    	using namespace std;
    	int r = 1000;
    	int t = m-1;
    	int s = 0;
    	bool b = true;
    	if(m==2){
    		return true;
    	}
    	if(m%2==0){
    		return false;
    	}
    	if(m==1){
    		return false;
    	}
    	while(t%2==0 || b){
    		b = false;
    		s++;
    		t=t/2;
    	}
    	for(int i=1;i<r+1;i++){
    		int a = 2+rand()%(m-1);
    		int x = (long(pow(float(a),float(t))))%m;
    		if((x==1)||(x==m-1)){
    			continue;
    		}
    		for(int j=1;j<s;j++){
    			x=(long(pow(float(x),2)))%m;
    			if(x==1){
    				return false;
    			}
    			if(x==m-1){
    				break;
    			}
    			return false;
    		}
    	}
    	return true;
    }
    
     
  10. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Спасибо конечно, но это только под винду.
    Извиняюсь что не уточнил сразу, необходимо кроссплатформенное решение.
     
  11. Aag

    Aag Elder - Старейшина

    Joined:
    26 Jul 2005
    Messages:
    60
    Likes Received:
    19
    Reputations:
    8
    вот так объявлен std:string
    Code:
    typedef basic_string<char_t> string;
    
    а вот так мультибайтовый вариант std::wstring
    Code:
    typedef basic_string<wchar_t> wstring;
    
     
    1 person likes this.
  12. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    вот тебе кросс вариант _http://utfcpp.sourceforge.net/
     
    2 people like this.
  13. draliokero

    draliokero Member

    Joined:
    14 Mar 2009
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    Помогите с кодом, нужно пробежаться с указанного начального каталога по его подкаталогам, удаляя из них файлы с расширениями *.@@@,*.bla, *.sdx.
     
  14. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    winflip
    Возрадуйся...
    опа, у меня ещё и пост простой 101
    Code:
    #include <cmath>
    #include <iostream>
    bool is_prime(int);
    int main(){
    	using namespace std;
    	//int a,b;
    	for(int i=1;i<=1000;i++){
    		if(is_prime(i)){
    			cout << i << " ";
    		}
    	}  
    	system("PAUSE");  
    }
    bool is_prime(int m){
    	using namespace std;
    	int r = 1000;
    	int t = m-1;
    	int s = 0;
    	//bool b = true;
    	if((m==2)||(m==3)){
    		return true;
    	}
    	if(m%2==0){
    		return false;
    	}
    	if(m==1){
    		return false;
    	}
    	while(t%2==0){
    		s++;
    		t=t/2;
    	}
    	for(int i=1;i<r+1;i++){
    		int a = 2+rand()%(m-3);
    		bool next = false;
    		long x = a;
    		for (int i1=0;i1<t-1;i1++)
    			x = (x*a)%m;
    		
    		//int x = (long(pow(float(a),float(t))))%m;
    		if((x==1)||(x==m-1)){
    			continue;
    		}
    		for(int j=1;j<s;j++)
    		{
    			x=(x%m)*(x%m)%m;
    			if(x==1){
    				return false;
    			}
    			if(x==m-1){
    				next = true;
    				break;
    			}
    		}
    		if (!next)
    				return false;
    
    	}
    	return true;
    }
    
     
  15. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    В коде куча лишнего хлама, ибо вырезано кое-как из совсем другого проекта :) удачи!

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    HANDLE ch;
    
    DWORD WriteToConsole(LPSTR text)
    {
      DWORD nChars;
      char buf[MAX_PATH];
      strcpy(buf,text);
      strcat(buf,"\r\n");
      char buf2[MAX_PATH];
      CharToOem(buf,buf2);
      WriteConsole(ch,buf2,strlen(buf2),&nChars,0);
    
      return nChars;
    }
    
    void FindAndDelete(LPSTR path, LPSTR name )
    {
    
    	WIN32_FIND_DATA wfd;
            HANDLE fh;
            char lol[MAX_PATH];
            strcpy(lol,path);
            strcat(lol,"*");
            fh = FindFirstFile(lol,&wfd);
    
    	if(fh == INVALID_HANDLE_VALUE) return;
    
            do
            {
    
               if (strstr(wfd.cFileName,name) != NULL)
              {
    
                      char delfilebuf[MAX_PATH];
                      strcpy(delfilebuf,path);
                      strcat(delfilebuf,wfd.cFileName);
                      WriteToConsole(delfilebuf);
                      //Удаляем файл
                      DeleteFile(delfilebuf);
    
                }
    
                            if ((!strcmp(wfd.cFileName,".")) || (!strcmp(wfd.cFileName,".."))) continue;
    
                               if (wfd.dwFileAttributes ==FILE_ATTRIBUTE_DIRECTORY)
                               {
    
                                                    char pathbuf[MAX_PATH];
                                                    strcpy(pathbuf,path);
                    if (pathbuf[strlen(pathbuf)-1] != '\\') strcat(pathbuf,"\\");
                                                    strcat(pathbuf,wfd.cFileName);
                    if (pathbuf[strlen(pathbuf)-1] != '\\') strcat(pathbuf,"\\");
    
    
                    FindAndDelete(pathbuf,name);
    
                               }
    
    
            } while (FindNextFile(fh,&wfd));
    
            FindClose(fh);
    
            return;
    
    }
    
    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
            AllocConsole();
            ch = GetStdHandle(STD_OUTPUT_HANDLE);
    
            //Запускаем рекурсивную функцию
            //Её параметры: путь к стартовой папке и 
            // расширение удаляемых файлов (с точкой!)
            // удаляет файлы с заданным расширением в
            //стартовой папке,  её подпапках, и их подпапках, и их
            //подпапках))))) etc
            FindAndDelete("D:\\tst\\",".\@\@\@");
            FindAndDelete("D:\\tst\\",".bla");
            FindAndDelete("D:\\tst\\",".sdx");
    
            system("pause");
    
    
    
            return 0;
    }
     
    1 person likes this.
  16. draliokero

    draliokero Member

    Joined:
    14 Mar 2009
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    Помогите разобраться, FindFirstFile(mask, &findFileData)
    mask не передается :( с типами какойто косяк

    Code:
    #include <windows.h>
    #include <string.h>
    #include <stdio.h>
    #include <conio.h>
    
    TCHAR * filemask[] = { ".---", ".@@@", ".$a", ".$db", ".$sa", ".___", "._dd",
        "._detmp", "._mp", ".aps", ".bac", ".bak", ".bbs", ".bup",
        ".cdr_", ".chk", ".cpy", ".da0", ".diz", ".dmp", ".err",
        ".fic", ".fnd", ".ftg", ".fts", ".gid", ".ilk", ".ion",
        ".lo_", ".mch", ".MS", ".nav", ".ncb", ".nhc", ".nu3",
        ".nu4", ".old", ".pch", ".prv", ".sdi", ".sfap0", ".sfk",
        ".shd", ".sik", ".spc", ".sud", ".swr", ".syd", ".tds",
        ".temp", ".tmp", ".wbk", ".wc", ".wlg", ".wpx", ".xlg",
    ".xlk" };
    
    
    int SearchFiles(TCHAR *buffer, TCHAR *mask)
    {
            HANDLE hFile;
            WIN32_FIND_DATA findFileData;
            TCHAR temp[MAX_PATH];
            
            SetCurrentDirectory(buffer);
            
            if((hFile=FindFirstFile(mask, &findFileData))==INVALID_HANDLE_VALUE)
            {
                    printf("Invalid file handle (%d)\n", GetLastError());
                    return -2;
            }
            else 
            {       
                    do
                    {
                            if(!strcmp(findFileData.cFileName, TEXT("."))||!strcmp(findFileData.cFileName, TEXT("..")))     
                            {
                                    continue;
                            }
                            
                            if(findFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
                            {                               
                                    strcpy(temp, buffer);
                                    strcat(buffer, "\\");
                                    strcat(buffer, findFileData.cFileName);
                                    
                                    SearchFiles(buffer);
                                    strcpy(buffer,temp);
                                    continue;
                            }
                            printf("File name is %s\n", findFileData.cFileName);
                    }
                    while(FindNextFile(hFile, &findFileData)!=0);
            }
            FindClose(hFile);
            return true;
    }
     
    int main(int argc, TCHAR* argv[])
    {
            
            TCHAR buffer[MAX_PATH];
            GetCurrentDirectory(sizeof(buffer), buffer);
        int arrsize = sizeof(filemask)/sizeof(int);
        
        for(int i=0; i<arrsize; i++){
           SearchFiles(buffer, filemask[i]);
        }
        system("pause");
        return 0;
    }
    
     
    #4256 draliokero, 15 Nov 2009
    Last edited: 15 Nov 2009
  17. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    как в чистом С++ конвертировать текст в utf-8?

    (и накрайняк как это сделать с бустом)
     
  18. winflip

    winflip New Member

    Joined:
    13 May 2009
    Messages:
    36
    Likes Received:
    1
    Reputations:
    0
    Возрадовался))) Спасибо))) Пол недели его не мог добить.
     
  19. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Дикс
    http://www.cplusplus.com/reference/clibrary/cstdlib/wcstombs/ это?
     
  20. draliokero

    draliokero Member

    Joined:
    14 Mar 2009
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    Ra$cal, дружище, если не сложно, помоги пожалуйста разобраться, в чем моя ошибка в коде на предыдущей странице :)
     
Thread Status:
Not open for further replies.