在C中,我想檢查一個字符的給定數組的任意字母,並根據它是什麼來改變它。例如,字符「a」或「A」將被改變爲「4」(代表4的字符)。這是一個鍛鍊; Tibial編碼對我來說:)memcmp與數組陣列
的代碼如下:
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <zlib.h>
#define NUM_BUFFERS 8
#define BUFFER_LENGTH 1024
char buffArrays[NUM_BUFFERS][BUFFER_LENGTH];
int main(int argc, const char* arg[v])
{
const char a[] = "a";
gzFile file;
file = gzopen("a.txt", "rb"); //contains 8 lines of 1024 'a's
int counter = 0;
while(counter < NUM_BUFFERS)
{
gzread(file, buffArrays[counter], BUFFER_LENGTH - 1);
counter++;
}
counter = 0;
while(counter < NUM_BUFFERS)
{
int i = 0;
for(i; i < BUFFER_LENGTH; i++)
{
int *changed = &buffArrays[counter][i];
if(memcmp(&a, changed, 1) == 0)
printf("SUCCESS\n");
}
counter++;
}
gzclose(file);
return 0;
}
此代碼永遠不會達到「成功」的一部分。這對我說,要麼
(1)的改值沒有指向正確的事 (2)指針&一個是不正確 (3)我完全錯了,這是別的東西
任何幫助,將不勝感激。
我希望我可以點擊所有你們的答案。 –