English 中文(简体)
为什么在这种情况下不能返回零?
原标题:Why is strcmp not returning 0 in this context?
  • 时间:2012-04-13 16:06:30
  •  标签:
  • c
  • strcmp

因此,从档案中看一看一看。

char temp[3];

temp[0] = nextchar;
printf("%c",temp[0]); //prints %

temp[1] = nextchar = fgetc(srcptr);
printf("%c",temp[1]); //prints 2

temp[2] = nextchar = fgetc(srcptr);
printf("%c",temp[2]); //prints 0

if(strcmp(temp, "%20") == 0) { printf("%s","blahblah"); }

理想的情况是,这应该最终印刷“blahblah”。 然而,它没有。 因此,为什么会恢复0,更重要的是:,我可以确定它?

最佳回答

你们必须放弃终止诱惑。

http://www.ohchr.org。

更改<代码>char temp[3]; to char temp[4]; temp[3] = 0;

问题回答

使用<代码>memcmp代替,因为strcmp (temp>)

if(memcmp(temp, "%20", sizeof(temp)) == 0) { printf("%s","blahblah"); }

扼杀具有一系列特征,最后具有性质。 自tmp 阵列可以具有三个特性,其中没有一个是终止无效性质、扼杀性(以及任何其他扼杀功能)的,认为它会继续保留,读过所分配的空间,直到它遇到一个无效的特性(或坠毁,因为它将变成一个有限的记忆空间)。

字体“200”实际上是特性: %、2、0、。

因此,确定其最容易的方式是宣布<代码>tmp 范围更广,并将之转让至最后一项内容:

char tmp[4];
...
tmp[3] =   ;




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...