在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)我完全错了,这是别的东西
任何帮助,将不胜感激。
我希望我可以点击所有你们的答案。 –