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

알려주신 조언도 참고해서 한번 해보겠습니다 !!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
공지 댓글잠금 [질문] 통합 규정(2019.11.8. 개정) jjohny=쿠마 19/11/08 99585
공지 [질문] [삭제예정] 카테고리가 생겼습니다. [9] 유스티스 18/05/08 120442
공지 [질문] 성인 정보를 포함하는 글에 대한 공지입니다 [38] OrBef 16/05/03 168097
공지 [질문] 19금 질문은 되도록 자제해주십시오 [8] OrBef 15/10/28 202431
공지 [질문] 통합 공지사항 + 질문 게시판 이용에 관하여. [22] 항즐이 08/07/22 252238
175838 [질문] 아버님께 드릴 선물을 사야하는데 뭐가 좋을까요? LowCat35 24/04/18 35
175837 [질문] 맥북이 작동되지 않습니다 자루스159 24/04/18 159
175836 [삭제예정] 지인의 차 사고 질문 [2] 삭제됨521 24/04/18 521
175835 [삭제예정] 축의금 관련 질문드립니다. [23] 인천테란1006 24/04/18 1006
175834 [질문] 간헐적 인터넷 끊김 조언 부탁드려요 [12] 탄야598 24/04/18 598
175833 [질문] 설/추석 명절 홍콩 가보신 분 계신가요? [4] LG의심장박용택757 24/04/18 757
175832 [질문] 비행기 조종 게임이나 시뮬레이션 관련 질문 [3] 지니팅커벨여행657 24/04/18 657
175831 [질문] 재미로 코딱지 파는 심리를 분석해 보려고 합니다(설문 요청). [13] 인생을살아주세요1073 24/04/18 1073
175829 [질문] 워드에서 영단어 마지막글자가 지워지는 증상? [2] beloved758 24/04/18 758
175828 [삭제예정] 미국주식 양도소득세 계산시 이동평균법으로 신고하는 방법이 있을지요...? [10] nexon2234 24/04/17 2234
175827 [질문] 엑셀 고수분들께 요청 드립니다. [6] 귀여운호랑이2088 24/04/17 2088
175826 [질문] 부모님 해외여행 질문드립니다 [6] 리코타홀릭1945 24/04/17 1945
175825 [질문] 엑셀 텍스트나누기 함수 질문 [5] possible1640 24/04/17 1640
175824 [질문] 읽기 쉬운 소설 또는 책 추천 [35] 작은마음2217 24/04/17 2217
175823 [질문] 부모자식간 부동산 매매서 증여세 문의드립니다 [12] Vertigo1195 24/04/17 1195
175822 [질문] 스팀할인 몬스터헌터 월드 구매 문의드립니다 [2] 공놀이가뭐라고432 24/04/17 432
175821 [질문] 서프샤크 vpn 30일날 환불 요구하니 구독 자동갱신만 취소해줬네요. 방법없을까요? [2] 그때가언제라도851 24/04/17 851
175820 [질문] 신차 틴팅 관련 질문 드립니다. [10] 원스724 24/04/17 724
목록 이전 다음
댓글

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