PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2016/05/27 17:01:31
Name 너무태연해
Subject [질문] C언어 파일출력 할 때 질문입니다.
안녕하세요.
요즘 시뮬레이션으로 데이터를 모으고 있는데 자료가 많아 질문드립니다.
for문을 두 개 이용해서 데이터를 출력하고 있는데요.
for1(바깥쪽)
for2 (안쪽)
구조로 되어 있습니다만...for2 끝난 뒤 한칸 씩 띄고(n로 줄바꿈) 데이터가 출력 되게 했는데 너무 많아 엑셀에서 정리가 어렵네요.

원하는 방법이 for2 끝난 뒤 열(다음 칸)을 바꾸는 방법이 있을까요? txt로 출력하고 있는데 열을 바꾸고 싶습니다.

예를 들어,
A  B
A  B
A  B
A  B
A  B

for2에 의해서 A가 먼저 한 줄로 출력이 되고 A만 출력 후,

오른쪽으로 이동시켜 (for1 다음 스텝 후) B만 출력 (B가 데이터가 더 많습니다.) 하고 싶은데 명령어가 있을까요.

답변 미리 감사 드립니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Miyun_86
16/05/27 17:16
수정 아이콘
명령어는 없을꺼고 굳이 코드를 구성한다면...

For1(Loop 갯수)
{
For2(Loop 갯수)
{
A 출력;
File Line Change;
}
File Cursor 처음으로 복귀(1회만 수행하도록 처리. Check 변수를 따로 만들어서 쓰거나, 다른 방법 등으로 처리.);
Line End 지점 확인;
B 출력;
File Line Change;
}

당장은 이런 방식 정도만 떠오르네요...
그냥 For문 하나 써서 A 데이터, B 데이터를 한번에 출력하는건 안되나요?
너무태연해
16/05/27 17:36
수정 아이콘
답변 감사합니다.

for 문 하나 쓰다가 제가 조건을 여러개(대략 100개 정도입니다.)를 주어야 해서 한번에 뽑으려고 for2를 하나 더 구성했습니다.
하나 뽑고 (A) 다음 조건 넣고 뽑고 (B) 하기가 힘들어 한번에 돌렸더니 A 끝에 한줄 띄고 B가 오고 B 끝에 한줄 띄고 C가 오고 해서 열을 바꿔서 할 수 있는지 궁금했습니다. (A,B,C,... 들의 데이터 갯수는 점차 늘어납니다. 최소 400개 ~ 최대 12000개 까지 늘어나고 있어서요)
Miyun_86
16/05/27 17:39
수정 아이콘
정확한 데이터형 구조를 제가 이해를 못해서 로직을 구성하기도 애매하네요...(......)
그런데 마지막 괄호가 좀 쇼크입니다;;;
너무태연해
16/05/27 17:47
수정 아이콘
위치에 따른 투과율을 계산하고 있습니다.
점점 길이가 늘어나서 저렇게 되네요 ㅠ ㅠ
우선 수작업으로 하는 데까지 하고 있습니다. 해보고 적당하게 데이터 수를 줄여서 해야겠어요.
처음으로 복귀 시키는 것도 한번 찾아서 적용 시킬 수 있다면 해보겠습니다 !
답변 감사합니다 :)
Miyun_86
16/05/27 17:49
수정 아이콘
처음으로 복귀시킨다는 의미를 어떻게 해석하셨는지 모르겠는데, 제가 말씀드릴려고 했던 것은 File Write Cursor 위치 이동을 이야기하는 것이였습니다.(위치 이동 관련은 C언어 책을 찾는게 빠르실 것으로 사료됩니다. 저도 C언어, 특히 파일 처리는 할 일이 없다보니 다 까먹었어요;;;) 저게 1회만 실행되어야 하는 이유가 For1문 안에 있는데, 저걸 계속 돌리면 계속 첫번째 줄에만 추가되는 사태가 발생하니까요.(...)
Miyun_86
16/05/27 17:46
수정 아이콘
솔직하게 말씀드려서, 첫번째 제 리플은 그냥 대충 생각난대로 쓴거라 제가 봐도 저런 식으로 코드 구성하고 싶지는 않습니다.(...)
몇가지 전제가 허용된다면, 차라리 다르게 구성하는게 속편하다 싶을 정도네요.

그런고로, 해당 전제를 허용한다는 이야기를 해주시면 한번 로직을 짜보겠습니다.
1. 결과 느리게 나와도 됨.
2. A,B,C.....Z, AA로 가더라도 각 데이터가 한번에 연산되어서 연속적으로 순차 처리되는 방식임.

뭐, 이정도 전제만 허용되어도 첫번째 리플 코드보다는 훨씬 깔끔하게 짤 수 있을꺼 같긴 합니다.
......재귀함수를 써야 할지도 모르겠지만요.
너무태연해
16/05/27 18:10
수정 아이콘
첫 리플에 달아 주신 걸로 구글링 해봤는데 파일 내에서 첫 줄로 돌아가 다시 덮어쓴다는 것과 같은 말씀이시죠? (결국 마지막 조건에 대한 결과만 출력이 되겠네요.)

처음 소스를 만들 때, 이렇게 할 줄 모르고 진행 한거라서 힘들지만 수작업으로 하겠습니다. ㅠ ㅠ

몇 가지 언급해주신 내용(?)을 가지고 (제 실력으로 다시 짤 수 있다면) 수정해보겠습니다.

시간내주셔서 정말 감사합니다. ㅠㅠ
Miyun_86
16/05/27 18:11
수정 아이콘
쪽지로 개인 메신저 주소 드릴테니까, 이해 안 가시면 그쪽 주소로 등록해주시거나 메일을 주시면 답변드리도록 하겠습니다.
웬지 이대로 끝내면 책임감도 없어보여서 좀 찝찝해서 말이죠...

그리고 "첫 리플에 달아 주신 걸로 구글링 해봤는데 파일 내에서 첫 줄로 돌아가 다시 덮어쓴다는 것과 같은 말씀이시죠?" => 이 의미가 잘못 전달된 것 같은데, 파일 작성 모드에 따라 달라지는데, write 모드로 해놓고 File Cursor를 일일히 이동시켜서 NULL인 첫번째 위치를 데이터 기록 시점으로 삼아야 한다는 의미입니다. 말로 하면 솔직히 좀 복잡한 이야기이긴 합니다...
(그래서 저 로직 쓰고 싶지 않다는 의미였습니다. 저건 그냥 생 노가다에요. 특히나 말씀하신 데이터 구조라면 쓰레기 로직이나 마찬가지죠.)
지나가는행인1
16/05/28 18:18
수정 아이콘
이미 늦은것 같지만...
성능이 느려도 상관없으면 분할해서 점령하는 것을 추천합니다...
A데이터만 result_a.txt, B데이터만 result_b.txt, C데이터만 result_c.txt 로 저장한 후
각각의 파일을 읽어서 ressult.txt에 하나씩 쓰는 방법이 있습니다.
C라고 하셨으니
FP_1 = fopen("result_a.txt","r"); FP_2 = fopen("result_b.txt","r");
이런 식으로 파일을 여러개 읽어서
하나에 쓰는 방법도 있습니다.
너무태연해
16/05/29 00:28
수정 아이콘
답변 감사합니다.

알려주신 조언도 참고해서 한번 해보겠습니다 !!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
85447 [질문] 이번주 주말에 혼자여행갈만한곳 있을가요? [4] 도깽이4057 16/06/27 4057
85446 [질문] 스팀 드래곤볼, 에이지오브엠파이어 재밌을까요? [4] Nooz2986 16/06/27 2986
85445 [질문] 여자들 단톡방 말투 관련 [37] 비둘기야 먹자6185 16/06/27 6185
85444 [질문] 독학으로 토익 800까지 찍을수 있을까요?? [13] 모어모어5462 16/06/27 5462
85443 [질문] [삼국지13] 등용이 안됩니다 [1] 유노윤하17343 16/06/27 17343
85442 [질문] 백인천 아저씨 선수시절에 주로 몇번타자로 많이 쳤나요?? [2] 잘가라장동건2854 16/06/27 2854
85441 [질문] 회사선택 관련 질문 [2] LastCarnival2294 16/06/27 2294
85439 [질문] 다크소울3를 구매할까 하는데요 [2] Magicien2345 16/06/27 2345
85438 [질문] 돌아온 스팀 세일기간! 추천을 받아보고자 합니다. [8] 산악왕트래킹2794 16/06/27 2794
85437 [질문] 스팀에서 보더랜드 프리시퀄을 사려 합니다. [9] 아론3129 16/06/27 3129
85436 [질문] 경제 민주화가 뭔가요? [2] 미숙한 S씨2443 16/06/27 2443
85435 [질문] 배구 국대 vs 농구 아마 최강팀 ... [29] 마르키아르4136 16/06/27 4136
85434 [질문] [오버와치] 경쟁전 언제시작하나요 [21] 차인남자4137 16/06/27 4137
85433 [질문] 7급 공무원 시험을 준비하려 합니다... [3] 삭제됨3255 16/06/27 3255
85432 [질문] 공시지가와 실거래가, 그리고 전세보증금반환보험 갈매기2206 16/06/27 2206
85431 [질문] 모니터 구매 질문입니다. 구밀복검1791 16/06/27 1791
85430 [질문] 아이폰과 삼성폰 최근에 알아보신 분들 계시면 조언 부탁드릴게요. [2] 미남주인2097 16/06/27 2097
85429 [질문] 면도기 추천 부탁 드립니다. [9] 신입사원3092 16/06/27 3092
85427 [질문] [LOL] KDA 계산 관련 질문입니다. [6] Jannaphile5243 16/06/27 5243
85426 [질문] 술 드시는 30대 중후반 분들 주 몇회 드시나요? [11] 카스트로폴리스6025 16/06/27 6025
85425 [질문] 유니세프 후원 어떤가요? [2] 아스날3254 16/06/27 3254
85424 [질문] 구로/영등포 숙박금액 저렴한 곳 추천해주세요. [7] Deadpool2824 16/06/27 2824
85423 [질문] 양도한 차량의 미납 과태료가 계속 나옵니다ㅜ [6] 누렁이3701 16/06/27 3701
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로