작은 단어 목록 .txt 파일을 만들려면 C 프로그램을 만들려고합니다. 나는 10 개의 요소들로 구성된 char 배열을 만들었고, 나는 그 10 개의 문자들로 가능한 모든 4 개의 문자 조합을 필요로한다.배열의 특정 요소에 대한 액세스
그래서, 나는 4 개의 for 루프를 가지고 배열에서 요소를 가져 와서 4 개의 문자 조합을 만들어 .txt로 씁니다.
내 문제는 포인터를 사용하여 배열 요소에 액세스하는 것입니다. 나는하고있다 :
char array[10] = {'A', 'S' ,'D', 'F', 'G', 'H', 'J', 'K', 'L', 'M'};
char input[4];
char *p;
p=array;
FILE *pFile = NULL;
char *filename = "output.txt";
pFile = fopen(filename, "w");
for(i=0;i=3;i++) {
for(j=0;j=3;j++) {
for(k=0;k=3;k++) {
for(l=0;l=3;l++) {
strcpy(input, *(p+i));
strcat(input, *(p+j));//"gluing" first and second element of new string together
strcat(input, *(p+k));//same as line before
strcat(input, *(p+l));
strcat(input, "\n");
fprintf(pFile, input);
//end of for loops, closing .txt file etc.
이것은 잘 컴파일되고 종료되지만 충돌이 발생한다. 배열 요소에 액세스 할 때 오류가 발생했다고 생각합니다.
아이디어가 있으십니까? 많은 감사를드립니다. 그들이 NULL을 찾을 때까지
char string[10] = "assd";
//and insert that instead of *(p+i) anywhere it works as it is supposed to
char 배열 [10] = {A, S, D, F, G, H, J, K, L, M} 믿기가 어렵다 ... – CiaPan
'경고 : 'strcpy'의 인자 2는 cast가없는 정수에서 포인터를 만든다 .'; /usr/include/string.h:127 : note : 예상 된 'const char * restrict'이지만 인수는 명시 적으로 활성화 된 경고 없이도 'char'' ... gcc 유형입니다. – mafso