2010-12-04 4 views
1

제목에 대해 궁금합니다.ini 파일의 n이 작동하지 않는 이유는 무엇입니까?

String a = "abc\ndef"; 
Console.Writeline(a); 

출력

abc 
def 

그럼 I는 ini 파일에 그 값을 저장하고, 거기에서이를 검색된다.

ini.iniwritevalue("a", "a", a); 
string b = ini.inireadvalue("a", "a"); 

그런 다음 콘솔에 표시했습니다. 결과는 다음과 같다 :

abc\ndef 

나는 INI 파일을 검색 한 후 왜 \n가 작동하지?

P. 나는 ini.dll 파일을 가지고있다. 우리 회사는 해당 DLL을 사용하여 ini 파일을 읽고 씁니다.

+0

3 가지 답변이 모두 정확하므로 어떻게 답변을 제공해야합니까 ?? – william

+0

가장 도움이 된 답변을 정답으로 표시 할 수 있습니다. –

답변

3

소스 코드에 \ n을 탈출 코드의 해석은 컴파일러에 의해 수행된다.

런타임에 파일을 "데이터"로 읽는 경우 해당 해석이 반드시 발생합니다.

C#에서 \n 그냥 \하고 있지 않기 때문에 당신은 찾거나 이것은

1

당신은이 같은 값을 쓸 때 슬래시를 이스케이프해야 소스 파일을 구문 분석 할 때

abc\\ndef 
3

이스케이프 시퀀스가 ​​포함 된 문자열을 받아 바이너리 값으로 변환하는 함수를 작성 (\ n 일반적으로 0x0a가된다)해야 할 수도 있습니다 n이지만 특별한 의미가있는 이스케이프 문자열입니다. \n은 단일 문자로 간주되어 줄 끝입니다. 파일에서 \n을 읽는 것만으로는 얻을 수 없습니다.

아마도, 여기에서 \\n을 읽었을 것입니다. \\ 또한 \ 문자를 의미하는 이스케이프 시퀀스입니다. \\n\n으로 바꾸면됩니다.

string s = ... //get the value 
s = s.Replace("\\n", "\n"); 
관련 문제