0
我有內存分配給一個文件,以便能夠從輸入文件中讀取。檢查我的內存的特定字符 - 不能這樣做
((mem = (unsigned char *) malloc (filesize)) == NULL)
我有它從內存(技術上來說)讀取。該循環將讀取內存的內容,並將每個字符寫入另一個輸出文件,直到達到預設限制,然後它將繼續寫入下一行(每行默認爲40)。我有它正確的讀寫,以及在每行40包裝,但輸入文件有多行不同長度,寫入新文件是包括「\ n」(新行),從而使多個行長度但不大於40.我需要檢查何時出現「\ n」並跳過它。
這是我的問題,我不知道如何檢查我是否碰到「\ n」。
這裏是我的傷心嘗試(循環的一部分):
fread(mem, 1,filesize, inf);
for(i=0; i < filesize; i++)
{
*temp = mem[i];
if (!strcmp(temp,"\n"));
{
i++;
}
[不要在C中拋出malloc的返回值](http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc) –
使用'temp '或'strcmp'在這裏。只要'如果(mem [i]!='\ n'){/ *做東西* /}'應該就夠了。 – netcoder
不需要使用'strcmp'(這是用於字符串比較的,不會像這裏編碼那樣工作)。相反,只需測試單個字符:if(mem [i] =='\ n')'。 –