我試圖測試是否在file.txt的字符是一個空格「」或不使用此代碼:測試從文件
char *Appartient (FILE *f, char *S)
{
int i = 0, nbdechar = 0, nbocc = 0, PosdePremierChar, space = 0;
char c;
while ((c = getc(f)) != EOF) {
PosdePremierChar = ftell(f);
if (c == S[0]) {
nbdechar = 0;
for (i = 1; i < strlen(S); i++) {
c = getc(f);
if (c == S[i]) {
nbdechar++;
}
}
if (nbdechar == strlen(S) - 1) {
nbocc++;
} else {
rewind(f);
fseek(f, PosdePremierChar - 1, SEEK_CUR);
while ((c = getc(f)) != ' ');
}
} else {
while ((c = getc(f)) != ' ') {
space++;
}
}
}
printf("\n Le nb d'occurence est %d", nbocc);
if (nbocc == 0) {
return "false";
} else {
return "true";
}
}
但一個奇怪的符號「在一個字符串的空間ے」看起來像一個垃圾當我檢查我的調試器變量「C」:
什麼是錯的
絕對清楚你的要求!什麼是調試模式?角色是如何出現的?我懷疑它,你沒有發佈打印字符的coed,發佈的代碼根本沒有用處,不可能知道'f'是否被打開,唯一非常明顯的是發佈代碼,它有醜陋的格式。 –
調試模式讓我看到c的價值每一次工作,它的工作步驟購買步驟,問題是爲什麼我字符空間它不認爲像一個字符空間:) – Programmer
「怪異的符號」是[U + 06D2 ARABIC LETTER YEH BARREE](http://www.fileformat.info/info/unicode/char/06d2/index.htm)。該字符可能在您的文件中,但通常情況下,getc不能將變量設置爲0x06D2。我們需要查看你的*完整程序*,並且我們還需要通過更改代碼來了解您正在使用的操作系統,編譯器和IDE(如果有的話),以及*完全*這種「調試模式」的工作方式?在調試器中單步執行? (哪個調試器?)最後,看到引發這個問題的文件會很有幫助。 – zwol