main()
{
char editmem[BUF_LEN];
int selc;
int editnumber;
int strlen2;
for(i=0; ;i++)
{
scanf("%d",&selc);
if(selc==1)
{
printf("바꿀 번호 : ");
scanf("%d",&editnumber);
printf("뭐로 빠꿀건가: ");
getchar();
gets(editmem);
strlen2=strlen(editmem);
editmem[strlen2]='
';
*(ret+(editnumber-1))=editmem; //ret은 메모장의 내용을 그대로 *ret[BUF]포인터에 저장해놓은것임.
}
if(selc==2)
{
break;
}
}
}
근데 문제가 처음 바꿀땐 잘됨. 근데 두번째 1번선택해서 다시 바꿀때는 처음 바꾼게 다음꺼에 영향을 미쳐버림;;
예를들면 1번선택하고 바꿀번호 1번 선택, 바꿀내용 aaaa, 그럼aaaa로 잘 바뀜 근데 두뻔째 바꿀대는 5번선택 bbbb 이렇게하면 앞에 바꾼1번도 bbbb로 나오고 3번도 bbbb로 나옴;; 돌겠네요 왜그런거죠?
다올려봐 보기힘들다
엄청길어서 일부발췌 할 수 밖에 없었음;
수정했어요. 근데 저게 다인데;
getchar()저렇게쓰는거맞냐? int ch = getchar(); 이렇게쓰는거아닌가
버퍼 없애려고 저건 넣은거임
뭐 내용과관려없지만 버퍼없앨때는 fflush(stdin);써주면됨
리눅스라 안됨요그거
vi에다가 코딩중?ㄷㄷ하네
아시는분 없나 ㅜㅜ
ret저거좀 다시설명해봐 먼말인지모르겠음
메모장에 8줄의 서울 강남 강북등등 이렇게 써놓고 fopen으로 메모장 내용을 메모리 char *ret[BUF]여기에 할당한거임
BUF값은 1024로 정의해놓앗고요.
범위설정안되어있어서 그런건가 *ret에 메모장내용이 다들어가니까 지금 수정한거 전에것도 다바뀌는거아님?
나도초짜긴한데 ㄷㄷ
아니면 변수위치를 바꿔보는게 메인말고 if안에다가 아니면 다른곳애
여기 병신들 ㅈㄴ많네 ㅋㅋㅋ 버퍼를 char *buf[length] 로 쳐잡으면 그게 케릭터 포인터 배열이지 색기들아 그니까 포인터로 되서 전부 참조하고 있으니 처음이후에 값이 다 똑같아지는거 아니냐 ㅋㅋㅋ버퍼에다가 malloc 하든지 포인터 없애고 써라
맞아 malloc 하려고 했는데 malloc을 동적메모리를 초기화 하면 된다네. 근데 책을 계속읽어봐도 뭔소린지 모르겠음
근데 char *ref[BUF_LEN] 이렇게 잡고있어서 ref[1]의 주소값에 는 첫번째줄 ref[2]의 주소값에는 두번째줄 이렇게 할당되는게 아님? for(i=0;i<7;i++) printf("%s",*(ret+i)); }
이렇게하면 한줄한줄 나와서 그렇게 되는줄 알았는데;
내가 잘못안건가.
포인터라니까 뭘 자꾸 루프돌면서 찍힌다고 되는거 아니냐고 물어 니생각대로 해서 안되는건 안되는거야 잘못안건가가 아니라 잘못알았어 malloc하라니까 고집 존나 쎄네
그니까 malloc으로 어떻게 하냐니까
걍 하지마 이색기야 api 쓰는법까지 쳐물으면 내가 니 과제대행이냐? 답을 알려줬더니 코드를 내놓으라네 미친색기 갖다치워 포인터로 좆나게 해봐
이 씹새끼가 조또 모르면서 아는척하네 개새끼가 malloc으로 아까 존나게 했어 개새끼야. 안되니까 포인터로 하는거지
해결했다 개새끼야 꺼지라
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ그래 열심히 해^^ 화이팅! malloc해서 안될리가있냐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ셀프 병신인증이네 ㅋㅋㅋㅋ
지잡대새끼 말하는 뽄세보소 ㄷㄷ해.
ㅋㅋ
미안 나도 잡대였어 ㅠ
ㅋㅋㅋㅋㅋ그래서 너는 어디다니길래 저거도못함?
끝났다니까 먼 개소리여. 지잡대샠끼야 말하는 뽄세보니 취직못할듯 ㅇㅅㅇ