문제

저는 초보 C 프로그래머이고 현재 C를 사용하여 viola jones 객체 감지 알고리즘을 구현하는 프로젝트를 진행하고 있습니다.2차원 배열의 데이터를 다른 프로그램 파일(예:main.c, header_file.h 등)

미리 감사드립니다.

도움이 되었습니까?

해결책

찾고 있는 것이 무엇인지 확신할 만큼 세부적인 내용은 충분하지 않지만 수행하려는 작업의 기본 구조는 다음과 같습니다.

open file.csv for writing
for(iterate through one dimension of the array using i)
{
for(iterate through the other dimension of the array using j)
   { 
   fprintf(yourfilehandle,"%d,",yourvalue[i][j]);
   }
fprintf(yourfilehandle,"\n");
}
close your file

다른 사람들이 제안한 것처럼, 이것은 당신에게 .CSV 읽기 및 구문 분석이 쉽고 메모장이나 Excel에서 파일을 열어 문제 없이 볼 수 있기 때문에 매우 좋은 선택입니다.

이는 C 파일 I/O를 사용하여 이 작업을 수행하려고 했다고 가정하는 것입니다. 이는 완벽하게 유효한 작업 방법이지만 일부는 약간 구식이라고 느낍니다.

줄 끝에 불필요한 쉼표가 남습니다.그게 문제라면 사전 및 사후 조건을 수행하여 원하는 위치에만 쉼표를 얻는 것이 충분히 쉽습니다.힌트:여기에는 두 번째 for 루프 내부 항목 앞에 쉼표를 인쇄하고, 내부 for 루프에 대해 반복하는 항목 수를 줄이고, 내부 for 루프 바로 앞과 뒤에 각 행 특수의 첫 번째 및 마지막 사례를 인쇄하는 작업이 포함됩니다. 각기.아마도 그것을 설명하는 것이 더 어려울 것입니다.

여기에 참조가 있습니다 C 스타일 파일 I/O의 경우 여기 튜토리얼이 있습니다.

다른 팁

저장중인 데이터 유형에 대해 알지 못하면 이것을 매트릭스로 저장하겠다고 말할 것입니다.요소를 분리하는 구분 기호를 선택해야합니다 (탭 또는 공간은 각각 일반적인 선택, 일명 ','TSV '및'CSV '이며, 행 끝을 표시 할 무언가 (새로운 줄은 여기에서 좋은 선택입니다).

로 저장된 파일이 같은 것처럼 보일 수 있습니다 :

10 162 1 5
7 1 4 12
9 2 2 0
.

첫 번째 줄에있는 일부 메타 데이터를 갖는 형식을 정의 할 수도 있습니다. 메모리를 미리 할당하려는 경우 문자 인코딩과 같은 다른 정보와 함께 행과 열 수는 유용 할 수 있습니다.간단하게 시작하고 필요에 따라 추가하십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top