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
수정 아이콘
답변 감사합니다.

알려주신 조언도 참고해서 한번 해보겠습니다 !!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
83716 [질문] 소셜커머스에 있는 여행티켓 사도 괜찮을까요? [4] 화이트데이2330 16/05/27 2330
83715 [질문] 환전질문입니다. [3] 해원맥1694 16/05/27 1694
83714 [질문] C언어 파일출력 할 때 질문입니다. [10] 너무태연해1881 16/05/27 1881
83713 [질문] 초기 사업 투자시 계약 부분 어떻게 하시나요?? [2] 이브1309 16/05/27 1309
83712 [질문] 저녁에 집에서 여성 혼자 중고물품 구매자를 맞이할 경우 팁을 여쭈어 보아요 [35] hiro3475 16/05/27 3475
83710 [질문] [오버워치] 기억에 남는 경기 시작 전 대화 있으신가요? [3] chamchI1855 16/05/27 1855
83709 [질문] [KBO] 역대 한화랑 롯데 유격수 1위는 누구인가요? [20] 톰가죽침대4194 16/05/27 4194
83708 [질문] 노래방에서 부를 힙합곡이 어떤게 있을까요? [22] 기승전정5250 16/05/27 5250
83707 [질문] [하스스톤] 어그로쓰랄이 쉬운거 맞나요? 전 어려운데; [17] lenakim2184 16/05/27 2184
83706 [질문] 서울 여행 숙소질문입니다. [11] 미스서2279 16/05/27 2279
83705 [질문] 퀴즈 정답을 모르겠습니다.. [13] 구체적타당성4628 16/05/27 4628
83704 [질문] ssd를 인식시키려면 어떻게 해야 하나요?? [1] Camomile1515 16/05/27 1515
83702 [질문] 안드로이드에서 어떤 용량 이상으로 파일을 검색할수있는 기능이 있는 어플있나요? [2] cs2022 16/05/27 2022
83701 [질문] VGA 교체만으로 게임 성능을 향상 시킬 수 있을까요? [4] 마카2295 16/05/27 2295
83700 [질문] 윈도우10 업그레이드 질문 [2] 천국의날개1936 16/05/27 1936
83699 [질문] 지금 카카오톡 메세지 오류 나시는분없나요? [4] 술마시면동네개1572 16/05/27 1572
83698 [질문] 인터넷 면세점에서 고를 선물 추천 부탁드립니다. 선배1657 16/05/27 1657
83697 [질문] 유럽 여행 항공권 질문드립니다. [22] peony2189 16/05/27 2189
83696 [질문] 차량용 aux선은 어디서 사야되나요? [5] 갱생3366 16/05/27 3366
83695 [질문] 램 꼽았는데 뭐가 문제일까요 ㅠ? [12] 신입사원1781 16/05/27 1781
83694 [질문] 출판만화(일본)순위 연도별로 잘 정리된 곳 좀 알려주세요. 네오크로우1423 16/05/27 1423
83693 [질문] 4K 캠코더 알못 질문입니다. [4] 웬디1717 16/05/27 1717
83692 [질문] 오라클 데이터 조회 관련 질문 [5] 삭제됨1601 16/05/27 1601
목록 이전 다음
댓글

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