#include <cstdlib>
#include <ctime>
#include <cmath>
#include <fstream>
#include <string>
int NO = 0;
using namespace std;
void MakeRandFile(int N)
{
int err = 0;
ofstream SaveFile("unsorted.txt");
long long why;
srand((unsigned int)time(NULL));
int i = 0;
for (i = 0; i<N; i++){
why = ((long long)(rand()+1) << 32) | rand();
SaveFile << why << endl;
}
SaveFile.close();
}
void ReadFile(long long *ary)
{
int cnt = 0;
ifstream OpenFile("unsorted.txt");
char *buf;
string line;
while (!OpenFile.eof())
{
getline(OpenFile, line);
ary[cnt++] = strtoll(line.c_str(), &buf, 0);
}
OpenFile.close();
}
int main() {
int wait;
clock_t start, end;
cout << "Number of ary : ";
cin >> NO;
long long *test = new long long[NO];
MakeRandFile(NO);
ReadFile(test);
cout << "It works" << endl;
cin >> wait;
return 0;
}
¿ø·¡´Â ¹Ø¿¡ ´õ Àִµ¥ °á°ú¿¡ »ó°ü¾ø´Â ³»¿ëÀ̶ó ¸î°³ »°´Âµ¥¿ä..
vs»ó¿¡¼± Á¦´ë·Î µ¹¾Æ°¡´Âµ¥ ¿ìºÐÅõ¿¡¼ ÀÌŬ¸³½º cdt ³ª ÄÚµåºí·°½º °°Àº°Å¿¡¼ µ¹¸®¸é
*** glibc detected *** /home/****/workspace/rtrt/Debug/rtrt: free(): invalid pointer: 0x08201060 ***
ÀÌ·± ¿¡·¯ ³ª¸é¼ Á×¾î¹ö¸®°í À§Ä¡¸¦ º¸¸é ReadFile ÇÔ¼ö¿¡¼ OpenFile.close(); ºÎºÐ¿¡¼ Áװŵç¿ä..
±×·¡¼ ½Ã¹ß ¹¹Áö ÇÏ°í ã¾Æº¸´Ù°¡ ¾Æ¹«»ý°¢¾øÀÌ Ã³À½¿¡ ¹Þ¾Æ¿À´Â µ¿Àû ÇÒ´ç ºÎºÐÀ»
long long *test = new long long[NO]; ¿¡¼
long long *test = new long long[NO+1]; ·Î ¹Ù²ã Áá´õ´Ï ¿ìºÐÅõ»ó¿¡¼µµ Á¦´ë·Î µ¹¾Æ°¡´Âµ¥¿ä..
Á¦°¡ ¹» À߸øÇÑ°ÅÁÒ?? ¿Ö vs¿¡¼º °æ°íµµ ¾È¶¹´Âµ¥ ¿ìºÐÅõ(gnu c/c++ compiler) ±â¹ÝÀ¸·Î µ¹¸®´Ï±î ¹®Á¦°¡ »ý±â´Â°Ç°¡¿ä?
¹º°¡ À߸øÇÑ°ÔÀִµ¥ vs¿¡¼ ÀÚµ¿À¸·Î °íÃÄÁÖ±â¶óµµ ÇÑ°Ç°¡¿ä??
-------------------------------------------------------
¶ó°í Áú¹® ¿Ã¸®·Á°í Çߴµ¥ ¿ÖÀÎÁö ã¾Ò½À´Ï´Ù.. Áß°£¿¡
while (!OpenFile.eof())
{..}
ÀÌ ºÎºÐÀÇ cnt °¡ Á¦°¡ ÀԷ¹ÞÀº°Í º¸´Ù Çϳª ´õ ¿Ã¶ó°¡´Â°É º¸´Ï
Á¦´ë·Î ¾²·Á¸é while(getline.......) ÀÌ·± ½ÄÀ¸·Î ¾²¶ó°í stackoverflow¿¡ ³ª¿Ô´õ±º¿©..
±Ùµ¥ ±×°Ç ±×·¸´Ù°í Ä¡°í ±×·³ vs¿¡¼± ¿Ö µ¹¾Æ°£°ÅÁÒ??¤±¤¤¤·¤©
Àâ´ã | 1301¸íÀÌ Àоú¾î¿ä. 3.144.222.208