>> ಸ್ಪೀಕರ್ 1: ತಂದೆಯ ಪ್ರೋಗ್ರಾಂ ಬರೆಯೋಣ ಎಂದು ಇಲ್ಲದೆ ಬಳಕೆದಾರರಿಂದ ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯುತ್ತದೆ
CS50 ಗ್ರಂಥಾಲಯದ ಬಳಸಿ GetString ಕಾರ್ಯ.
ಇದನ್ನು ಮಾಡಲು, ನಾವು ಮುಂದೆ ಹೋಗಿ ಬಳಸಿ scanf, ಕಾರ್ಯ ಎಂದು GetString
ಕಾರ್ಯ ವಾಸ್ತವವಾಗಿ ಬಳಸುವ HOOD ಕೆಳಗೆ.
ಆದರೆ ನಾನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಈ ಮಾಡಲು ಪಡೆಯಲಿದ್ದೇನೆ ಒಂದು ದೋಷಯುಕ್ತ ರೀತಿಯಲ್ಲಿ.
ನಾನು ಭಾವಿಸುತ್ತೇನೆ ರೀತಿಯಲ್ಲಿ ಮಾಡಲು ಪಡೆಯಲಿದ್ದೇನೆ ಬಲ, ಆದರೆ ಇದನ್ನು ತಿರುಗುತ್ತದೆ ಎಂದು
ನನ್ನ ಕಲ್ಪನೆ ವಿಶೇಷವೇನು ಸಾಕಷ್ಟು ಸಾಕಷ್ಟು ದೋಷಪೂರಿತ.
ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಸಾಕಷ್ಟು ಅಪಾಯಕಾರಿ.
ಏಕೆಂದರೆ ನಾನು ಬಗ್ಗೆ ನಾನು ಒಂದು ರೀತಿಯ ದೋಷಗಳನ್ನು ಎದುರಾಳಿಗಳಾಗಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು ಮಾಡಲು
ಉದಾಹರಣೆಗೆ ನಿಮ್ಮ ಯಂತ್ರ ಅಥವಾ ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಸಮರ್ಥವಾಗಿ ಮೇಲೆ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.
>> ಕೆಳಗಿನಂತೆ ಆರಂಭಿಸೋಣ.
ಮೊದಲ ನಮ್ಮ ಸ್ಟ್ರಿಂಗ್ ಘೋಷಿಸಲು ಅವಕಾಶ, ಇಲ್ಲದಿದ್ದರೆ, ಒಂದು ಚಾರ್ ಸ್ಟಾರ್ ಎಂದು ಈಗ ಕರೆಯಲ್ಪಡುವ
ಮತ್ತು ರು ಕರೆ.
ಮುಂದಿನ ಸ್ಟ್ರಿಂಗ್ ಬಳಕೆದಾರರು ಪ್ರಾಂಪ್ಟ್ ಅನುಮತಿಸುತ್ತದೆ, "ದಯವಿಟ್ಟು ಸ್ಟ್ರಿಂಗ್." ಜೊತೆ ಮತ್ತು
ಈಗ ಬಳಕೆದಾರರಿಂದ ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯಲು ಅವಕಾಶ ಕೊಡುವುದು ಉಲ್ಲೇಖ, msgstr "% s.", scanf ಬಳಸಿ ರಲ್ಲಿ
ಅರ್ಥಾತ್, ತಂದೆಯ ಎಂದು ನಾವು scanf ತಿಳಿಸಲು ಅವಕಾಶ ವಾಸ್ತವವಾಗಿ ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯಲು ನಿರೀಕ್ಷಿಸಬಹುದು ಇಲ್ಲ
ಬಳಕೆದಾರರ.
>> ಆದರೆ ಈಗ ನಾವು scanf ಹೇಳಬಹುದು ಅಗತ್ಯವಿದೆ ಮತ್ತೊಂದು ವಿಷಯ -
ಸ್ಟ್ರಿಂಗ್ ಹಾಕಲು ಅಲ್ಲಿ ಎಂದು ಬಳಕೆದಾರ ಒದಗಿಸುತ್ತದೆ.
ನಾನು ಸಾಕಷ್ಟು ಸರಳವಾಗಿ ಆರಂಭಿಸಲು ಪಡೆಯಲಿದ್ದೇನೆ ಅಲ್ಪವಿರಾಮ ಗಳು, ನಾನು ಬಯಸುವ ಸ್ಪಷ್ಟಪಡಿಸಿದ್ದಾಳೆ ಜೊತೆ
scanf ಇಲ್ಲ ಸ್ಟ್ರಿಂಗ್ ಹಾಕಲು.
ನಾನು ಮುಂದಿನ ಏನೋ ಮುದ್ರಿಸುತ್ತದೆ ಪಡೆಯಲಿದ್ದೇನೆ % s printf "ಧನ್ಯವಾದಗಳು
ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ ಅಲ್ಪವಿರಾಮ N. "ಮತ್ತು ಯಾವಾಗಲೂ, ನಾನು ಸ್ಟ್ರಿಂಗ್, ರು ರಲ್ಲಿ ಹಾದು ಹೋಗುವ.
ಈಗ ಉಳಿಸಲು ಅವಕಾಶ ಕಂಪೈಲ್, ಈ ಔಟ್ ನಾವು ಪ್ರೇರೇಪಿಸುತ್ತದೆ ಸಾಧ್ಯವಿಲ್ಲ ಪ್ರೋಗ್ರಾಂ, ಮತ್ತು ನೋಡಿ
ಸಮಸ್ಯೆ ನಾನು ಭವಿಷ್ಯ.
>> Scanf-1 ಮಾಡಿ.
./scanf-1.
ಸ್ಟ್ರಿಂಗ್ ದಯವಿಟ್ಟು.
ನ, ರೀತಿಯ ಒದಗಿಸಲು ಅವಕಾಶ "ಹಲೋ." "ಶೂನ್ಯ ಧನ್ಯವಾದಗಳು." ಹೌದು, ಆ ಅಲ್ಲ
ನಾನು ನಿರೀಕ್ಷಿಸುವುದಾಗಿ ಏನು.
ಹಾಗಾಗಿ ಇಲ್ಲಿ ವಿಶೇಷವೇನು?
>> ನಾವು ಘೋಷಿಸಿದರು ಏಕೆಂದರೆ, ಇದು ತಿರುಗಿದರೆ ರು ಒಂದು ಚಾರ್ ಸ್ಟಾರ್ ಆದರೆ ನಾವು ಮಾಡಲಿಲ್ಲ
ವಾಸ್ತವವಾಗಿ ಒಂದು ವಿಳಾಸವನ್ನು ರು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಮೆಮೊರಿ ನಿಜವಾದ ಪಡೆ, scanf ಮಾಡಲಿಲ್ಲ
ಸ್ಟ್ರಿಂಗ್ ಹಾಕಲು ಎಲ್ಲಿಯಾದರೂ ಹೊಂದಿವೆ ಬಳಕೆದಾರ ಸೈನ್ ಟೈಪಿಸಿದ
ವಾಸ್ತವವಾಗಿ, ಬಳಕೆದಾರ ವೇಳೆ ಈಗ ಟೈಪ್ "ಹಲೋ" ಹೆಚ್ಚು ಮುಂದೆ ಸ್ಟ್ರಿಂಗ್
ಉದಾಹರಣೆಗೆ ಹಲವಾರು ಪಠ್ಯ ಸಾಲುಗಳನ್ನು ಅಥವಾ ಪಠ್ಯ ಹಲವು ಪ್ಯಾರಾಗಳು, ಸಾಕಷ್ಟು ಇಲ್ಲಿದೆ
ನಾವು ಪ್ರೇರೇಪಿಸುತ್ತದೆ ಎಂದು ಸಾಧ್ಯ ಒಂದು ವಿಭಜನೆ ತಪ್ಪು ಕರೆಯಲ್ಪಡುವ.
>> Scanf ತಿಳಿಯಲು ಹೋಗುವ ಕಾರಣ ಎಂದು ನಾನು ವಾಸ್ತವವಾಗಿ ವಿಳಾಸಕ್ಕೆ ಪುಟ್ ಮಾಡಿಲ್ಲ
ರು ಒಳಗೆ.
ಬದಲಿಗೆ, ಇದು ಕೆಲವು ಮೌಲ್ಯವನ್ನು ನೋಡಲು ವಿಶೇಷವೇನು ರು, ಕೆಲವು ಮಾದರಿ ಬಿಟ್ಗಳು ಮೇ
ಚೆನ್ನಾಗಿ ಒಂದು ತ್ಯಾಜ್ಯವನ್ನು ಮೌಲ್ಯವು, ಅಲ್ಲಿ ಕೇವಲ ಆಕಸ್ಮಿಕವಾಗಿ.
ಮತ್ತು scanf ಇನ್ನೂ ಬರೆಯಲು ಪ್ರಯತ್ನಿಸಿ ಹೋಗುತ್ತದೆ ಆ ವಿಳಾಸಕ್ಕೆ ಬಳಕೆದಾರ ಸ್ಟ್ರಿಂಗ್,
ಇದು ಒಂದು ಕಸದ ಮೌಲ್ಯವನ್ನು, ಸಹ ಇದು ವಾಸ್ತವವಾಗಿ ಕುಸಿತದ ಉಂಟು ಮಾಡಬಹುದು.
>> ಆದ್ದರಿಂದ ಹೇಗೆ ನಾವು ಈ ಸರಿಪಡಿಸಲು ಹೋಗುವ?