無限ループ?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

無限ループ?

#1

投稿記事 by ざこ » 16年前

InitDialog
for(p=0;p<=c;p++){//ドロップしたファイルがディレクトリの場合
		CFileFind find;
		CString vv;
		vv=__argv[p];
		CString Newstr=vv+_T("\\*.*");
		if(find.FindFile(Newstr)){
			int i=1;
			while(i){
				if(__argv[p]==""){
					return 0;
				}
				i=find.FindNextFile();
				if(find.IsDots()){
					continue;
				}
				if(find.IsDirectory()){
					
					FolderDrop(find.GetFilePath());
					
				}
				CString	filename=vv+"\\"+find.GetFileName();
				CString kakucho=GetKaku(filename);
				while((index3=m_listC.GetNextItem(index3,LVNI_ALL))!=-1){
					indexstr=m_listC.GetItemText(index3,0);
					if(kakucho==indexstr){
						kdlg.m_DirectoryFileNameArray.Add(filename);
					}
				}
				m_FilenameArray.Add(filename);
				m_FolderFileNumber++;
		
			}
				find.Close();
		}
	
	}


void CDragDrop6Dlg::FolderDrop(CString str)
{
	int c=__argc;
	CString kakucho;
	int i=m_listC.GetItemCount();
	CString indexstr;
	CString filename;
	CKakuninDlg kdlg;
	int p;
	int index3=-1;	
		
		
		for(p=0;p<=c;p++){//ドロップしたファイルがディレクトリの場合
		CFileFind find2;
		
		
		str=__argv[p];
		CString Newstr=str+_T("\\*.*");
		if(find2.FindFile(Newstr)){
			int i=1;
			while(i){
				if(str==""){
					return;
				}
				i=find2.FindNextFile();
				if(find2.IsDots()){
					continue;
				}
				if(find2.IsDirectory()){
					FolderDrop(find2.GetFilePath());
					continue;
				}
				filename=str+"\\"+find2.GetFileName();
				kakucho=GetKaku(filename);//ファイルの拡張子をとりだす
				while((index3=m_listC.GetNextItem(index3,LVNI_ALL))!=-1){
					indexstr=m_listC.GetItemText(index3,0);
					
					if(kakucho==indexstr){
						
						kdlg.m_DirectoryFileNameArray.Add(filename);
						

					}
				}
				
				
				
				m_FilenameArray.Add(filename);
				m_FolderFileNumber++;
		
			}
				find2.Close();
		}

	}
	

}
フォルダの中のファイルを全て取り出すプログラムですが実際にMessageBoxなどで
調べてみると無限ループになってるようですが、どこがおかしいのかおしえてください。

ざこ

Re:無限ループ?

#2

投稿記事 by ざこ » 16年前

質問する場所を間違えたみたいなので他で聞きます。

閉鎖

“C言語何でも質問掲示板” へ戻る